pub enum Frame {
Show 21 variants
Hello,
Welcome {
session_id: SessionId,
},
SessionRejected {
code: ErrorCode,
message: String,
},
Publish {
request_id: u64,
destination: Destination,
access_token: BearerToken,
},
Published {
request_id: u64,
binding_id: BindingId,
},
PublishFailed {
request_id: u64,
code: ErrorCode,
message: String,
},
Unpublish {
request_id: u64,
binding_id: BindingId,
},
Unpublished {
request_id: u64,
},
Dial {
connection_id: u64,
destination: Destination,
access_token: BearerToken,
},
Offer {
pipe_id: PipeId,
binding_id: BindingId,
destination: Destination,
},
OfferAccepted {
pipe_id: PipeId,
},
OfferRejected {
pipe_id: PipeId,
code: ErrorCode,
message: String,
},
Opened {
pipe_id: PipeId,
},
DialFailed {
connection_id: u64,
code: ErrorCode,
observation: PeerObservation,
message: String,
},
Data {
pipe_id: PipeId,
payload: Bytes,
},
Fin {
pipe_id: PipeId,
},
Close {
pipe_id: PipeId,
},
Reset {
pipe_id: PipeId,
code: ErrorCode,
message: String,
},
Ping {
nonce: u64,
},
Pong {
nonce: u64,
},
Cancel {
pipe_id: PipeId,
},
}Expand description
Wire messages exchanged within one SDK–Gateway session.
Credentials are operation-scoped and appear only in Frame::Publish and
Frame::Dial; application data remains opaque in Frame::Data.
Variants§
Hello
SDK → Gateway: starts a session and carries no credential.
Welcome
Gateway → SDK: establishes the session and assigns its identifier.
SessionRejected
Gateway → SDK: refuses the session before it is established.
Fields
Publish
SDK → Gateway: registers a Destination for this session.
Fields
destination: DestinationThe exact routing address being registered.
access_token: BearerTokenOperation credential the Gateway verifies for this registration.
Published
Gateway → SDK: reports that the registration succeeded.
Fields
PublishFailed
Gateway → SDK: reports that the registration failed.
Fields
Unpublish
SDK → Gateway: releases a Binding this session owns.
Fields
Unpublished
Gateway → SDK: confirms that the Binding is released.
Dial
SDK → Gateway: requests a Pipe to a Destination.
Fields
destination: DestinationThe exact routing address the dial targets.
access_token: BearerTokenOperation credential the Gateway verifies for this dial.
Offer
Offers an incoming Pipe to the session that owns a selected binding.
Fields
destination: DestinationThe routing address the dial targeted.
OfferAccepted
SDK → Gateway: the Listener admitted the offered Pipe to its queue.
OfferRejected
SDK → Gateway: the Listener did not admit the offered Pipe.
Fields
Opened
Confirms that a Pipe is established for the dialing session.
Fields
DialFailed
Gateway → SDK: ends a dial attempt without a Pipe.
Fields
observation: PeerObservationStates whether the selected Listener may have observed the dial.
Data
Carries opaque application bytes over an established Pipe.
Fields
Fin
Half-closes the sender’s write direction of a Pipe.
Close
Closes a Pipe normally in both directions.
Reset
Terminates a Pipe with an error.
Fields
Ping
Probes session liveness and expects a matching Frame::Pong.
Pong
Answers a liveness probe.
Cancel
Cancels a pending Pipe establishment attempt.