*/ namespace Asio; /** * Interface StreamSocket * * @package Asio */ interface StreamSocket extends Socket { /** * Read asynchronously from stream socket. * * @param int $length : Max number of bytes to be read * @param bool $read_some * @param callable $callback[optional] : Read handler callback * @param mixed $argument * @return Future : Resolves received data(string) */ function read(int $length, bool $read_some = true, callable $callback, $argument = null); /** * Write asynchronously to stream socket. * * @param string $data : Write buffer * @param bool $write_some * @param callable $callback[optional] : Write handler callback * @param mixed $argument * @return Future : Resolves bytes transferred(int) */ function write(string $data, bool $write_some = false, callable $callback, $argument = null); }