HH\Lib\Network\Socket
A handle representing a connection between processes
It is possible for both ends to be connected to the same process, and to either be local or across a network.
Interface Synopsis
namespace HH\Lib\Network;
interface Socket implements \HH\Lib\IO\ReadWriteHandle {...}
Public Methods
->getLocalAddress(): this::TAddress
Returns the address of the local side of the socket->getPeerAddress(): this::TAddress
Returns the address of the remote side of the socket
Public Methods (HH\Lib\IO\WriteHandle
)
->writeAllAsync(string $bytes, ?int $timeout_ns = NULL): Awaitable<void>
Write all of the requested data->writeAllowPartialSuccessAsync(string $bytes, ?int $timeout_ns = NULL): Awaitable<int>
Write data, waiting if necessary
Public Methods (HH\Lib\IO\ReadHandle
)
->readAllAsync(?int $max_bytes = NULL, ?int $timeout_ns = NULL): Awaitable<string>
Read until there is no more data to read->readAllowPartialSuccessAsync(?int $max_bytes = NULL, ?int $timeout_ns = NULL): Awaitable<string>
Read from the handle, waiting for data if necessary->readFixedSizeAsync(int $size, ?int $timeout_ns = NULL): Awaitable<string>
Read a fixed amount of data->readImpl(?int $max_bytes = NULL): string
An immediate, unordered read
Protected Methods (HH\Lib\IO\WriteHandle
)
->writeImpl(string $bytes): int
An immediate unordered write