package luv
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b3bedf34bc1ba0d9a448091145bc0b5efefae1b1fe8b44e564d989b3b63c6ff8
md5=9d0e3498b9f59993b0d42f80793d8fad
doc/luv/Luv/Pipe/index.html
Module Luv.PipeSource
Pipes.
See Child process I/O and IPC in the user guide, and uv_pipe_t — Pipe handle in libuv.
Binds uv_pipe_t.
Note that values of this type can also be used with functions in:
In particular, see Luv.Handle.close, Luv.Stream.accept, Luv.Stream.read_start, Luv.Stream.write.
Allocates and initializes a pipe.
Binds uv_pipe_init.
The pipe is not yet connected to anything at this point. See Luv.Pipe.bind, Luv.Stream.listen, and Luv.Pipe.connect.
Wraps an existing file descriptor in a libuv pipe.
Binds uv_pipe_open.
val pipe :
?read_flags:TCP.Flag.t list ->
?write_flags:TCP.Flag.t list ->
unit ->
(File.t * File.t, Error.t) Result.resultCreates a pair of connected pipes.
In case of success, in the value (read_pipe, write_pipe), data written to write_pipe can be read from read_pipe.
?read_flags specifies flags for read_pipe. Likewise, ?write_flags specifies flags for write_pipe. The only possible flag at the moment is `NONBLOCK, which binds UV_NONBLOCK_PIPE. Both arguments are set to [`NONBLOCK] by default.
Requires Luv 0.5.7 and libuv 1.41.0.
Feature check: Luv.Require.(has pipe)
Assigns a pipe a name or an address.
Binds uv_pipe_bind. See bind(3p).
Connects to the pipe at the given name or address.
Binds uv_pipe_connect. See connect(3p).
Retrieves the name or address assigned to the given pipe.
Binds uv_pipe_getsockname. See getsockname(3p).
Retrieves the name or address of the given pipe's peer.
Binds uv_pipe_getpeername. See getpeername(3p).
Binds uv_pipe_pending_instances.
val receive_handle :
t ->
[ `TCP of TCP.t -> (unit, Error.t) Result.result
| `Pipe of t -> (unit, Error.t) Result.result
| `None ]Receives a file descriptor over the given pipe.
File descriptors are sent using the ~send_handle argument of Luv.Stream.write2.
On the receiving end, call Luv.Stream.read_start. When that function calls its callback, there may be file descriptors in the pipe, in addition to the ordinary data provided to the callback.
To check, call this function Luv.Pipe.recieve_handle in a loop until it returns `None. Each time it returns `TCP receive or `Pipe receive, create an appropriate handle using either Luv.TCP.init or Luv.Pipe.init, and call receive handle to receive the file descriptor and associate it with handle.
Constants for Luv.Pipe.chmod.
Sets pipe permissions.
Binds uv_pipe_chmod.
Requires libuv 1.16.0.
Feature check: Luv.Require.(has pipe_chmod)