pub enum TcpSocketResponse {
RequestAccepted {},
RequestDenied {
reason: RequestFailureReason,
},
PortForciblyClosed {
port: u16,
},
NewConnection {
port: u16,
connection_id: ConnectionId,
incoming_bytes: UnboundedReceiver<Bytes>,
outgoing_bytes: UnboundedSender<OutboundPacket>,
socket_address: SocketAddr,
},
Disconnection {
connection_id: ConnectionId,
},
}
Expand description
Response messages that the TCP socket manager may send back
Variants§
RequestAccepted
Notification that the specified request that was previously made was accepted
RequestDenied
Notification that the specified request that was previously made was denied
Fields
reason: RequestFailureReason
Reason why the request was denied
PortForciblyClosed
Notification to system that requested a port be opened that the port has been forced closed. This is mostly due to an error listening onto the socket.
NewConnection
Notification that a client has connected to a TCP port opened by the receiver of this notification.
Fields
connection_id: ConnectionId
Unique identifier for this new connection
incoming_bytes: UnboundedReceiver<Bytes>
Channel the owner can use to receive bytes sent from the client
outgoing_bytes: UnboundedSender<OutboundPacket>
Channel the owner can use to send bytes to the client
socket_address: SocketAddr
The socket address the client connected from
Disconnection
Notification that a client has disconnected from a TCP port
Fields
connection_id: ConnectionId
Unique identifier of the connection that disconnected
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TcpSocketResponse
impl RefUnwindSafe for TcpSocketResponse
impl Send for TcpSocketResponse
impl Sync for TcpSocketResponse
impl Unpin for TcpSocketResponse
impl UnwindSafe for TcpSocketResponse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.