|
| | DynSock (std::shared_ptr< Pipes > pipes, std::shared_ptr< Queue > accept_sockets) |
| | Create a new mocked sock.
|
| | ~DynSock () |
| ssize_t | Recv (void *buf, size_t len, int flags) const override |
| | recv(2) wrapper.
|
| ssize_t | Send (const void *buf, size_t len, int) const override |
| | send(2) wrapper.
|
| std::unique_ptr< Sock > | Accept (sockaddr *addr, socklen_t *addr_len) const override |
| | accept(2) wrapper.
|
| bool | Wait (std::chrono::milliseconds timeout, Event requested, Event *occurred=nullptr) const override |
| | Wait for readiness for input (recv) or output (send).
|
| bool | WaitMany (std::chrono::milliseconds timeout, EventsPerSock &events_per_sock) const override |
| | Same as Wait(), but wait on many sockets within the same timeout.
|
| | ZeroSock () |
| | ~ZeroSock () override |
| ssize_t | Send (const void *, size_t len, int) const override |
| | send(2) wrapper.
|
| ssize_t | Recv (void *buf, size_t len, int flags) const override |
| | recv(2) wrapper.
|
| int | Connect (const sockaddr *, socklen_t) const override |
| | connect(2) wrapper.
|
| int | Bind (const sockaddr *, socklen_t) const override |
| | bind(2) wrapper.
|
| int | Listen (int) const override |
| | listen(2) wrapper.
|
| std::unique_ptr< Sock > | Accept (sockaddr *addr, socklen_t *addr_len) const override |
| | accept(2) wrapper.
|
| int | GetSockOpt (int level, int opt_name, void *opt_val, socklen_t *opt_len) const override |
| | getsockopt(2) wrapper.
|
| int | SetSockOpt (int, int, const void *, socklen_t) const override |
| | setsockopt(2) wrapper.
|
| int | GetSockName (sockaddr *name, socklen_t *name_len) const override |
| | getsockname(2) wrapper.
|
| bool | SetNonBlocking () const override |
| | Set the non-blocking option on the socket.
|
| bool | IsSelectable () const override |
| | Check if the underlying socket can be used for select(2) (or the Wait() method).
|
| bool | Wait (std::chrono::milliseconds timeout, Event requested, Event *occurred=nullptr) const override |
| | Wait for readiness for input (recv) or output (send).
|
| bool | WaitMany (std::chrono::milliseconds timeout, EventsPerSock &events_per_sock) const override |
| | Same as Wait(), but wait on many sockets within the same timeout.
|
| | Sock ()=delete |
| | Sock (SOCKET s) |
| | Take ownership of an existent socket.
|
| | Sock (const Sock &)=delete |
| | Copy constructor, disabled because closing the same socket twice is undesirable.
|
| | Sock (Sock &&other) |
| | Move constructor, grab the socket from another object and close ours (if set).
|
| virtual | ~Sock () |
| | Destructor, close the socket or do nothing if empty.
|
| Sock & | operator= (const Sock &)=delete |
| | Copy assignment operator, disabled because closing the same socket twice is undesirable.
|
| virtual void | SendComplete (std::span< const unsigned char > data, std::chrono::milliseconds timeout, CThreadInterrupt &interrupt) const |
| | Send the given data, retrying on transient errors.
|
| virtual void | SendComplete (std::span< const char > data, std::chrono::milliseconds timeout, CThreadInterrupt &interrupt) const |
| | Convenience method, equivalent to SendComplete(MakeUCharSpan(data), timeout, interrupt).
|
| virtual std::string | RecvUntilTerminator (uint8_t terminator, std::chrono::milliseconds timeout, CThreadInterrupt &interrupt, size_t max_data) const |
| | Read from socket until a terminator character is encountered.
|
| virtual bool | IsConnected (std::string &errmsg) const |
| | Check if still connected.
|
| bool | operator== (SOCKET s) const |
| | Check if the internal socket is equal to s.
|
A mocked Sock alternative that allows providing the data to be returned by Recv() and inspecting the data that has been supplied to Send().
Definition at line 238 of file net.h.