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.