pub struct Socket { /* private fields */ }
Expand description

Bidirectional streaming IPC transport.

SYNOPSIS

Sockets are a bidirectional stream transport. Unlike channels, sockets only move data (not handles).

Implementations

Create a socket.

Write data to the socket. If successful, the number of bytes actually written are returned.

A SOCKET_STREAM(default) socket write can be short if the socket does not have enough space for all of data. Otherwise, if the socket was already full, the call returns ZxError::SHOULD_WAIT.

A SOCKET_DATAGRAM socket write is never short. If the socket has insufficient space for data, it writes nothing and returns ZxError::SHOULD_WAIT. Attempting to write a packet larger than the datagram socket’s capacity will fail with ZxError::OUT_OF_RANGE.

Read data from the socket. If successful, the number of bytes actually read are returned.

If the socket was created with SOCKET_DATAGRAM, this method reads only the first available datagram in the socket (if one is present). If data is too small for the datagram, then the read will be truncated, and any remaining bytes in the datagram will be discarded.

If peek is true, leave the message in the socket. Otherwise consume the message.

Get information of the socket.

Prevent reading or writing.

Set the read threshold of the socket.

When the bytes queued on the socket (available for reading) is equal to or greater than this value, the SOCKET_READ_THRESHOLD signal is asserted. Read threshold signalling is disabled by default (and when set, writing a value of 0 for this property disables it).

Set the write threshold of the socket.

When the space available for writing on the socket is equal to or greater than this value, the SOCKET_WRITE_THRESHOLD signal is asserted. Write threshold signalling is disabled by default (and when set, writing a value of 0 for this property disables it).

Get the read and write thresholds of the socket.

Trait Implementations

Formats the value using the given formatter. Read more

Executes the destructor for this type. Read more

Get object’s KoID.

Get the name of the type of the kernel object.

Get object’s name.

Set object’s name.

Get the signal status.

Assert signal.

Deassert signal.

Change signal status: first clear then set indicated bits. Read more

Add callback for signal status changes. Read more

Attempt to get the object’s peer. Read more

If the object is related to another (such as the other end of a channel, or the parent of a job), returns the KoID of that object, otherwise returns zero. Read more

Attempt to find a child of the object with given KoID. Read more

Get object’s allowed signals.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Casts the value.

Casts the value.

Casts the value.

Convert 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. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.