Get desktop application:
View/edit binary Protocol Buffers messages
EndpointRequest is a sum type that can transmit any type of endpoint request. Only the sent request will be non-nil. We intentionally avoid using Protocol Buffers' oneof feature because it generates really ugly code and an unwieldy API, at least in Go. Manually checking for exclusivity is not difficult.
Poll represents a poll request.
Scan represents a scan request.
Stage represents a stage request.
Supply represents a supply request.
Transition represents a transition request.
InitializeForwardingRequest is the initialization request sent to remote forwarding endpoints.
Field 1 is reserved for the session identifier. Version is the session version.
Configuration is the session configuration.
Protocol is the protocol specification for the listener/dialer.
Address it the bind address for a listener or dial address for a dialer.
Listener indicates whether this endpoint should function as a listener or dialer for the associated address.
InitializeForwardingResponse is the initialization response sent from remote forwarding endpoint.
Error is any error that occurred during initialization.
InitializeSynchronizationRequest encodes a request for endpoint initialization.
Session is the session identifier.
Version is the session version.
Configuration is the session configuration.
Root is the synchronization root path.
Alpha indicates whether or not the endpoint should behave as alpha (as opposed to beta).
InitializeSynchronizationResponse encodes initialization results.
Error is the error message (if any) resulting from initialization.
PollCompletionRequest is paired with PollRequest and indicates a request for early polling completion or an acknowledgement of completion.
(message has no fields)
PollRequest encodes a request for one-shot polling.
Used in:
(message has no fields)
PollResponse indicates polling completion.
Error is the error message (if any) resulting from polling.
ScanCompletionRequest is paired with a ScanRequest and indicates a request for scan cancellation or an acknowledgement of completion.
(message has no fields)
ScanRequest encodes a request for a scan.
Used in:
BaselineSnapshotSignature is the rsync signature to use as the base for differentially transmitting snapshots.
Full indicates whether or not to force a full (warm) scan, temporarily avoiding any acceleration that might be available on the endpoint.
ScanResponse encodes the results of a scan.
SnapshotDelta are the operations need to reconstruct the snapshot against the specified base.
Error is the error message (if any) resulting from scanning.
TryAgain indicates whether or not the error is ephermeral.
StageRequest encodes a request for staging.
Used in:
Paths lists the paths that need to be staged.
Digests lists the digests for the paths that need to be staged. Its length and contents correspond to that of Paths.
StageResponse encodes the results of staging initialization.
Paths are the paths that need to be staged after filtering. If its length is zero and the length of Signatures is non-zero, then it's assumed that all paths are required and (in that scenario) the length of Signatures must be equal to the length of the original path list.
Signatures are the rsync signatures of the paths needing to be staged.
Error is the error message (if any) resulting from staging initialization.
SupplyRequest indicates a request for supplying files.
Used in:
Paths are the paths to provide (relative to the synchronization root).
Signatures are the rsync signatures of the paths needing to be staged.
TransitionCompletionRequest is paired with a TransitionRequest and indicates a request for transition cancellation or an acknowledgement of completion.
(message has no fields)
TransitionRequest encodes a request for transition application.
Used in:
Transitions are the transitions that need to be applied.
TransitionResponse encodes the results of transitioning.
Results are the resulting contents post-transition. HACK: We have to use Archive to wrap our Entry results here because Protocol Buffers won't encode a nil pointer in a repeated element in certain cases, and the results of transitions may very well be nil. gob also exhibits this problem.
Problems are any problems encountered during the transition operation.
StagerMissingFiles indicates whether or not the endpoint's stager indicated missing files during transitioning.
Error is the error message (if any) resulting from the remote transition method. This will always be an empty string since transition doesn't return errors from local endpoints, but to match the endpoint interface (which allows for transition errors due to network failures with remote endpoints), we include this field. TODO: Should we just remove this field? Doing so would rely on knowledge of localEndpoint's transition behavior.