Commit Graph

11 Commits

Author SHA1 Message Date
Christian Schwarz c22190e981 zfs: extract filesystem version code to separate file & add filtering support 2017-07-01 23:19:31 +02:00
Christian Schwarz 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
Christian Schwarz c7161cf8e6 handler: remove PushMapping, rename PullMapping to PullACL 2017-05-20 17:43:49 +02:00
Christian Schwarz 3c7f782dac rpc: remove FilesystemRequest.Direction (unused) 2017-05-20 17:43:49 +02:00
Christian Schwarz 2407556f15 main: implement request handler. 2017-05-07 12:28:03 +02:00
Christian Schwarz cd8796aed4 rpc: Initial|IncrementalTransferRequest transfer zfs data structures 2017-05-07 12:20:56 +02:00
Christian Schwarz 77f749112c main: remove global handler and unused structs 2017-05-03 18:27:23 +02:00
Christian Schwarz f005ce318d Purge model package, not really used anyways. 2017-05-03 17:26:45 +02:00
Christian Schwarz 43f67d2b7c rpc: add FilesystemVersionsRequest 2017-05-03 17:12:15 +02:00
Christian Schwarz d9ecfc8eb4 Gofmt megacommit. 2017-04-26 20:29:54 +02:00
Christian Schwarz 9750bf3123 Wireframe main executable. 2017-04-26 20:22:17 +02:00