Socket¶
lthread_socket¶
-
int
lthread_socket
(int domain, int type, int protocol)¶ Creates a new socket(2) and sets it to non-blocking.
Parameters can be found in man socket.
lthread_pipe¶
-
int
lthread_pipe
(int fildes[2])¶ lthread version of pipe(2), with socket set to non-blocking.
lthread_accept¶
-
int
lthread_accept
(int fd, struct sockaddr *, socklen_t *)¶ lthread version of accept(2). man 2 accept for more details.
lthread_close¶
-
int
lthread_close
(int fd)¶ lthread version of close(2). man 2 close for more details.
lthread_connect¶
-
int
lthread_connect
(int fd, struct sockaddr *, socklen_t, uint64_t timeout)¶ lthread version of connect(2) with additional timeout parameter.
Returns: new fd > 0 on success. Returns: -1 on failure. Returns: -2 on timeout.
lthread_recv¶
-
ssize_t
lthread_recv
(int fd, void *buf, size_t buf_len, int flags, uint64_t timeout)¶ lthread version of recv(2), with additional timeout parameter.
Returns: Returns number of bytes read, -1 on failure and -2 on timeout.
lthread_read¶
-
ssize_t
lthread_read
(int fd, void *buf, size_t length, uint64_t timeout)¶ lthread version of read(2), with additional timeout parameter.
Returns: Returns number of bytes read. Returns: 0 if socket is closed. Returns: -1 on failure. Returns: -2 on timeout.
lthread_readline¶
-
ssize_t
lthread_readline
(int fd, char **buf, size_t max, uint64_t timeout)¶ Keeps reading from fd until it hits a \n or max bytes.
Parameters: - fd (int) – file descriptor.
- **buf (char) –
Ptr->ptr that will contain the line read(must be freed).
- max (size_t) – Maximum number of bytes to read before finding \n.
- timeout – Milliseconds to wait on reading before timing out.
Returns: Number of bytes read.
Returns: 0 if socket is closed.
Returns: -1 on failure.
Returns: -2 on timeout.
lthread_recv_exact¶
-
ssize_t
lthread_recv_exact
(int fd, void *buf, size_t buf_len, int flags, uint64_t timeout)¶ Blocks until exact number of bytes are read.
Returns: Number of bytes read. Returns: 0 if socket is closed. Returns: -1 on failure. Returns: -2 on timeout.
lthread_read_exact¶
-
ssize_t
lthread_read_exact
(int fd, void *buf, size_t length, uint64_t timeout)¶ Blocks until exact number of bytes are read.
Returns: Number of bytes read. Returns: 0 if socket is closed. Returns: -1 on failure. Returns: -2 on timeout.
lthread_recvmsg¶
-
ssize_t
lthread_recvmsg
(int fd, struct msghdr *message, int flags, uint64_t timeout)¶ lthread version of recvmsg(2). man 2 recvmsg for more details.
Returns: Returns number of bytes read, -1 on failure and -2 on timeout.
lthread_recvfrom¶
-
ssize_t
lthread_recvfrom
(int fd, void *buf, size_t length, int flags, struct sockaddr *address, socklen_t *address_len, uint64_t timeout)¶ lthread version of recvfrom(2). man 2 recvfrom for more details.
Returns: Returns number of bytes read. Returns: 0 if socket is closed. Returns: -1 on failure. Returns: -2 on timeout.
lthread_send¶
-
ssize_t
lthread_send
(int fd, const void *buf, size_t buf_len, int flags)¶ lthread version of send(2). man 2 send for more details.
lthread_write¶
-
ssize_t
lthread_write
(int fd, const void *buf, size_t buf_len)¶ lthread version of write(2). man 2 write for more details.
lthread_sendmsg¶
-
ssize_t
lthread_sendmsg
(int fd, const struct msghdr *message, int flags)¶ lthread version of sendmsg(2). man 2 sendmsg for more details.
lthread_sendto¶
-
ssize_t
lthread_sendto
(int fd, const void *buf, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len)¶ lthread version of sendto(2). man 2 sendto for more details.
lthread_writev¶
-
ssize_t
lthread_writev
(int fd, struct iovec *iov, int iovcnt)¶ lthread version of writev(2). man 2 writev for more details.
lthread_wait_read¶
-
int
lthread_wait_read
(int fd, int timeout_ms)¶ Waits for an fd to become readable.
Returns: 0 on success. Returns: -2 on timeout.
lthread_wait_write¶
-
int
lthread_wait_write
(int fd, int timeout_ms)¶ Waits for an fd to become writable.
Returns: 0 on success. Returns: -2 on timeout.
lthread_poll¶
-
int
lthread_poll
(struct pollfd *fds, nfds_t nfds, int timeout)¶ Lthread version of poll(2)
Returns: -1 on poll(2) error (when timeout == 0). Returns: 0 on timeout. Returns: > 0 to indicate the # of fds returned. Note
If timeout == 0, poll(2) is called directly and the lthread never goes to sleep.