|
SDL3pp
A slim C++ wrapper for SDL3
|
An object that represents a streaming connection to another system. More...
Public Member Functions | |
| constexpr | StreamSocket (StreamSocketRaw resource) noexcept |
| Constructs from raw StreamSocket. | |
| constexpr | StreamSocket (StreamSocket &&other) noexcept |
| Move constructor. | |
| StreamSocket (AddressRef address, Uint16 port, PropertiesRef props) | |
| Begin connecting a socket as a client to a remote server. | |
| ~StreamSocket () | |
| Destructor. | |
| constexpr StreamSocket & | operator= (StreamSocket &&other) noexcept |
| Assignment operator. | |
| Public Member Functions inherited from SDL::StreamSocketBase | |
| void | Destroy () |
| Dispose of a previously-created stream socket. | |
| Status | WaitUntilConnected (Sint32 timeout) |
| Block until a stream socket has connected to a server. | |
| Address | GetAddress () |
| Get the remote address of a stream socket. | |
| Status | GetConnectionStatus () |
| Check if a stream socket is connected, without blocking. | |
| bool | WriteTo (const void *buf, int buflen) |
| Send bytes over a stream socket to a remote system. | |
| int | GetPendingWrites () |
| Query bytes still pending transmission on a stream socket. | |
| int | WaitUntilDrained (Sint32 timeout) |
| Block until all of a stream socket's pending data is sent. | |
| int | ReadFrom (void *buf, int buflen) |
| Receive bytes that a remote system sent to a stream socket. | |
| void | SimulateStreamPacketLoss (int percent_loss) |
| Enable simulated stream socket failures. | |
| constexpr | ResourceBaseT ()=default |
| Default constructor, creates null/invalid resource. | |
| constexpr | ResourceBaseT (RawPointer resource) |
| Constructs from resource pointer. | |
| constexpr | ResourceBaseT (std::nullptr_t) |
| Constructs null/invalid. | |
| constexpr | ResourceBaseT (const ResourceBaseT &)=default |
| Copy constructor. | |
| constexpr | ResourceBaseT (ResourceBaseT &&) noexcept=default |
| Move constructor. | |
| Public Member Functions inherited from SDL::ResourceBaseT< StreamSocketRaw > | |
| constexpr | ResourceBaseT ()=default |
| Default constructor, creates null/invalid resource. | |
| constexpr | operator bool () const |
| Converts to bool. | |
| constexpr auto | operator<=> (const ResourceBaseT &other) const=default |
| Comparison. | |
| constexpr RawConstPointer | operator-> () const noexcept |
| member access to underlying resource pointer. | |
| constexpr RawPointer | get () const noexcept |
| Retrieves underlying resource pointer. | |
| constexpr RawPointer | release () noexcept |
| Retrieves underlying resource pointer and clear this. | |
Additional Inherited Members | |
| Public Types inherited from SDL::ResourceBaseT< StreamSocketRaw > | |
| using | RawPointer |
| The underlying raw pointer type. | |
| using | RawConstPointer |
| The underlying const raw pointer type. | |
| Protected Member Functions inherited from SDL::ResourceBaseT< StreamSocketRaw > | |
| constexpr | ~ResourceBaseT ()=default |
| Destructor. | |
| constexpr ResourceBaseT & | operator= (const ResourceBaseT &)=default |
| Assignment operator. | |
An object that represents a streaming connection to another system.
This is meant to be a reliable, stream-oriented connection, such as TCP.
Each StreamSocket represents a single connection between systems. Usually, a client app will have one connection to a server app on a different computer, and the server app might have many connections from different clients. Each of these connections communicate over a separate stream socket.
|
inlineexplicitconstexprnoexcept |
Constructs from raw StreamSocket.
| resource | a StreamSocketRaw to be wrapped. |
This assumes the ownership, call release() if you need to take back.