CoreComponents 4.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
WebSocketFrame Class Referencefinal

WebSocket frame. More...

#include <WebSocketFrame>

Inheritance diagram for WebSocketFrame:

Classes

class  Error
 Something went wrong processing a frame. More...
class  FrameToBig
 Payload length exceeds limit More...

Public Types

enum class  Type : uint8_t {
  Continuation = 0 , Text = 1 , Binary = 2 , Close = 8 ,
  Ping = 9 , Pong = 10 , Unknown = Continuation
}
 Type of frame. More...
Public Types inherited from Object
using NullAccess = cc::NullAccess
 Error thrown when trying to access a null object.
using VirginityTestFailed = cc::VirginityTestFailed
 Error thrown when trying to initialize an object with a non-virgin state.

Public Member Functions

 WebSocketFrame ()=default
 Create a null object.
 WebSocketFrame (ByteSource &source, long maxPayloadSize=std::numeric_limits< long >::max())
 Read frame from source.
 WebSocketFrame (Type type, const String &payload=String{}, bool fin=true, uint8_t rsv=0)
 Create a new WebSocket frame.
void writeTo (ByteSink &sink, uint32_t mask)
 Write this frame to sink automatically applying mask in the process (if mask != 0).
bool fin () const
 Tell if this is the final frame of a message.
Type type () const
 Frame type
uint8_t rsv () const
 Reserved bits
const Stringpayload () const
 Payload data
Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 operator bool () const
 Check if this is a non-null object.
bool isNull () const
 Check if this is a null object.
int useCount () const
 Reference count.
template<class T>
bool is () const
 Check if this object is of type T.
template<class T>
as () const
 Cast this object to type T.
bool isWeak () const
 Check if the underlying object reference is weak.
bool operator== (const Object &other) const
 Equality operator.
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.

Additional Inherited Members

Protected Member Functions inherited from Object
template<class T>
weak () const
template<class T>
void initOnce ()
 Create the object state when called the first time.
template<class T>
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 Object (State *newState)
 Initialize object with newState.
 Object (State *state, Alias)
 Object (State *state, Weak)
Objectoperator= (std::nullptr_t)
Static Protected Member Functions inherited from Object
template<class T>
static T alias (const State *state)
 Create an alias object for the given state.
template<class T>
static T weak (const State *state)
Protected Attributes inherited from Object
Handle< Stateme
 Internal object state

Detailed Description

WebSocket frame.

Member Enumeration Documentation

◆ Type

enum class Type : uint8_t
strong

Type of frame.

Constructor & Destructor Documentation

◆ WebSocketFrame() [1/3]

WebSocketFrame ( )
default

Create a null object.

◆ WebSocketFrame() [2/3]

WebSocketFrame ( ByteSource & source,
long maxPayloadSize = std::numeric_limits<long>::max() )
explicit

Read frame from source.

Exceptions
FrameToBig

◆ WebSocketFrame() [3/3]

WebSocketFrame ( Type type,
const String & payload = String{},
bool fin = true,
uint8_t rsv = 0 )

Create a new WebSocket frame.

Member Function Documentation

◆ writeTo()

void writeTo ( ByteSink & sink,
uint32_t mask )

Write this frame to sink automatically applying mask in the process (if mask != 0).

◆ fin()

bool fin ( ) const

Tell if this is the final frame of a message.

◆ type()

Type type ( ) const

Frame type

◆ rsv()

uint8_t rsv ( ) const

Reserved bits

◆ payload()

const String & payload ( ) const

Payload data