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