SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches

An object that represents a streaming connection to another system. More...

Inheritance diagram for SDL::StreamSocket:
[legend]

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 StreamSocketoperator= (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 ResourceBaseToperator= (const ResourceBaseT &)=default
 Assignment operator.

Detailed Description

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.

Since
This datatype is available since SDL_net 3.0.0.
See also
CreateClient
WriteToStreamSocket
ReadFromStreamSocket
Category:
Resource

Constructor & Destructor Documentation

◆ StreamSocket()

SDL::StreamSocket::StreamSocket ( StreamSocketRaw resource)
inlineexplicitconstexprnoexcept

Constructs from raw StreamSocket.

Parameters
resourcea StreamSocketRaw to be wrapped.

This assumes the ownership, call release() if you need to take back.


The documentation for this struct was generated from the following file: