The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bif::Sync::Client - client for communication with a bif hub

VERSION

0.1.5_4 (2015-08-04)

SYNOPSIS

    use strict;
    use warnings;
    use AnyEvent;
    use App::bif;
    use Bif::Sync::Client;

    my $ctx = App::bif->new( {} );
    my $client = Bif::Sync::Client->new(
        db       => $ctx->dbw,
        location => $LOCATION,
    );

    # Bif::Sync::Client is a Coro::Handle user so you want
    # to do things inside a coroutine
    my $fh = select;
    async {
        select $fh;

        $client->pull_hub;
    };

    AnyEvent->condvar->recv;

DESCRIPTION

Bif::Sync::Client is a class for communicating with a bif hub.

CONSTRUCTOR

Bif::Sync::Client->new( db => $dbh, hub => $location )

ATTRIBUTES

db
debug
child
child_watcher
debug_bifsync
hub_id
location
changes_sent
changes_recv
on_update
rh
wh
json
on_error

METHODS

pull_hub($name)

Import the changes associated with the hub $name into the local repository.

sync_hub($hub_id)

Compares the hub_changes table in the local repository against the same table on the hub and exchanges changes until they are the same. This method only results in project-only changes.

import_project
sync_project
export_project
disconnect

SEE ALSO

Bif::Sync::Server

AUTHOR

Mark Lawrence <nomad@null.net>

COPYRIGHT AND LICENSE

Copyright 2014-2015 Mark Lawrence <nomad@null.net>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.