Get desktop application:
View/edit binary Protocol Buffers messages
Forwarding manages the lifecycle of forwarding sessions.
Create creates a new session.
CreateRequest encodes a request for session creation.
Prompter is the prompter identifier to use for creating sessions.
Specification is the creation specification.
CreateResponse encodes a session creation response.
Session is the resulting session identifier.
List returns metadata for existing sessions.
ListRequest encodes a request for session metadata.
Selection is the session selection criteria.
PreviousStateIndex is the previously seen state index. 0 may be provided to force an immediate state listing.
ListResponse encodes session metadata.
StateIndex is the state index associated with the session metadata.
SessionStates are the session metadata states.
Pause pauses sessions.
PauseRequest encodes a request to pause sessions.
Prompter is the prompter to use for status message updates.
Selection is the session selection criteria.
PauseResponse indicates completion of pause operation(s).
(message has no fields)
Resume resumes paused or disconnected sessions.
ResumeRequest encodes a request to resume sessions.
Prompter is the prompter identifier to use for resuming sessions.
Selection is the session selection criteria.
ResumeResponse indicates completion of resume operation(s).
(message has no fields)
Terminate terminates sessions.
TerminateRequest encodes a request to terminate sessions.
Prompter is the prompter to use for status message updates.
Selection is the session selection criteria.
TerminateResponse indicates completion of termination operation(s).
(message has no fields)
Configuration encodes session configuration parameters. It is used for create commands to specify configuration options, for loading global configuration options, and for storing a merged configuration inside sessions. It should be considered immutable.
Fields 1-20 are reserved for core forwarding configuration parameters.
Used in:
, ,SocketOverwriteMode specifies whether or not existing Unix domain sockets should be overwritten when creating new listener sockets.
SocketOwner specifies the owner identifier to use for Unix domain listener sockets.
SocketGroup specifies the group identifier to use for Unix domain listener sockets.
SocketPermissionMode specifies the permission mode to use for Unix domain listener sockets.
CreationSpecification contains the metadata required for a new session.
Used in:
Source is the source endpoint URL for the session.
Destination is the destination endpoint URL for the session.
Configuration is the base session configuration. It is the result of merging the global configuration (unless disabled), any manually specified configuration file, and any command line configuration parameters.
ConfigurationSource is the source-specific session configuration. It is determined based on command line configuration parameters.
ConfigurationDestination is the destination-specific session configuration. It is determined based on command line configuration parameters.
Name is the name for the session object.
Labels are the labels for the session object.
Paused indicates whether or not to create the session pre-paused.
EndpointState encodes the current state of a forwarding endpoint. It is mutable within the context of the daemon, so it should be accessed and modified in a synchronized fashion. Outside of the daemon (e.g. when returned via the API), it should be considered immutable.
Used in:
Connected indicates whether or not the controller is currently connected to the endpoint.
Session represents a forwarding session configuration and persistent state. It is mutable within the context of the daemon, so it should be accessed and modified in a synchronized fashion. Outside of the daemon (e.g. when returned via the API), it should be considered immutable.
The identifier, version, creationTime, and creatingVersion* fields are considered the "header" fields for all session versions. A message composed purely of these fields is guaranteed to be compatible with all future session versions. This can be used to dispatch session decoding to more specific message structures once multiple session version formats are implemented.
Used in:
Identifier is the (unique) session identifier. It is static. It cannot be empty.
Version is the session version. It is static.
CreationTime is the creation time of the session. It is static. It cannot be nil.
CreatingVersionMajor is the major version component of the version of Mutagen which created the session. It is static.
CreatingVersionMinor is the minor version component of the version of Mutagen which created the session. It is static.
CreatingVersionPatch is the patch version component of the version of Mutagen which created the session. It is static.
Source is the source endpoint URL. It is static. It cannot be nil.
Destination is the destination endpoint URL. It is static. It cannot be nil.
Configuration is the flattened session configuration. It is static. It cannot be nil.
ConfigurationSource are the source-specific session configuration overrides. It is static.
ConfigurationDestination are the destination-specific session configuration overrides. It is static.
Name is a user-friendly name for the session. It may be empty and is not guaranteed to be unique across all sessions. It is only used as a simpler handle for specifying sessions. It is static.
Labels are the session labels. They are static.
Paused indicates whether or not the session is marked as paused.
SocketOverwriteMode specifies the behavior for overwriting (removing) existing Unix domain sockets.
Used in:
SocketOverwriteMode_SocketOverwriteModeDefault represents an unspecified socket overwrite mode. It should be converted to one of the following values based on the desired default behavior.
SocketOverwriteMode_SocketOverwriteModeLeave specifies that existing sockets should not be overwritten when creating a Unix domain socket listener.
SocketOverwriteMode_SocketOverwriteModeOverwrite specifies that existing sockets should be overwritten when creating a Unix domain socket listener.
State encodes the current state of a forwarding session. It is mutable within the context of the daemon, so it should be accessed and modified in a synchronized fashion. Outside of the daemon (e.g. when returned via the API), it should be considered immutable.
Used in:
Session is the session specification.
Status is the status of the session.
LastError indicates the last error that occurred during forwarding.
OpenConnections is the number of connections currently open and being forwarded.
TotalConnections is the number of total connections that have been opened and forwarded (including those that are currently open).
TotalOutboundData is the total amount of data (in bytes) that has been transmitted from source to destination across all forwarded connections.
TotalInboundData is the total amount of data (in bytes) that has been transmitted from destination to source across all forwarded connections.
SourceState encodes the state of the source endpoint. It is always non-nil.
DestinationState encodes the state of the destination endpoint. It is always non-nil.
Status encodes the status of a forwarding session.
Used in:
Status_Disconnected indicates that the session is disconnected.
Status_ConnectingSource indicates that the session is in the process of connecting to the source endpoint.
Status_ConnectingDestination indicates that the session is in the process of connecting to the destination endpoint.
Status_ForwardingConnections indicates that the session is connected and currently forwarding connections.
Version specifies a session version, providing default behavior that can vary without affecting existing sessions.
Used in:
,Invalid is the default session version and represents an unspecfied and invalid version. It is used as a sanity check to ensure that version is set for a session.
Version1 represents session version 1.