Commit Graph

13 Commits

Author SHA1 Message Date
35dcfc234e Implement push support.
Pushing is achieved by inverting the roles on the established
connection, i.e. the client tells the server what data it should pull
from the client (PullMeRequest).

Role inversion is achieved by moving the server loop to the serverLoop
function of ByteStreamRPC, which can be called from both the Listen()
function (server-side) and the PullMeRequest() client-side function.

A donwside of this PullMe approach is that the replication policies
become part of the rpc, because the puller must follow the policy.
2017-05-20 18:17:08 +02:00
3c7f782dac rpc: remove FilesystemRequest.Direction (unused) 2017-05-20 17:43:49 +02:00
40fe7e643d cmd: Move replication logic to separate file. 2017-05-20 17:29:37 +02:00
48a4e8033a rpc: close outgoing SSH connection on exit. 2017-05-14 14:11:19 +02:00
cd8796aed4 rpc: Initial|IncrementalTransferRequest transfer zfs data structures 2017-05-07 12:20:56 +02:00
514f9aa123 rpc: hex-ints for RequestType definitions 2017-05-03 17:13:08 +02:00
b8e7ddd61f rpc fixup msising directions filesystemrequest 2017-05-03 17:12:31 +02:00
43f67d2b7c rpc: add FilesystemVersionsRequest 2017-05-03 17:12:15 +02:00
08370689c8 rpc: implement respondWithError 2017-04-30 23:47:11 +02:00
d9ecfc8eb4 Gofmt megacommit. 2017-04-26 20:29:54 +02:00
4494afe47f Finish implementation of RPC. 2017-04-16 21:38:31 +02:00
c1aed10e8b Further drafting of rpc module.
Also: fix typo in model definitions.
2017-04-15 18:31:14 +02:00
123becbd22 Interface wireframe 2017-04-14 19:26:32 +02:00