WebsocketConnection.h
Go to the documentation of this file.
44 using WebsocketBinaryDelegate = Delegate<void(WebsocketConnection&, uint8_t* data, size_t size)>;
119 bool send(IDataSourceStream* stream, ws_frame_type_t type = WS_FRAME_TEXT, bool useMask = false, bool isFin = true);
127 static void broadcast(const char* message, size_t length, ws_frame_type_t type = WS_FRAME_TEXT);
WsFrameInfo(ws_frame_type_t type, char *payload, size_t payloadLength)
Definition: WebsocketConnection.h:62
virtual ~WebsocketConnection()
Definition: WebsocketConnection.h:78
Provides http base used for client and server connections.
Definition: HttpConnection.h:27
bool sendBinary(const uint8_t *data, size_t length)
Sends a binary websocket message.
Definition: WebsocketConnection.h:153
Definition: WebsocketConnection.h:55
WebsocketMessageDelegate wsMessage
Definition: WebsocketConnection.h:307
void setConnectionHandler(WebsocketDelegate handler)
Sets the callback handler to be called after successful websocket connection.
Definition: WebsocketConnection.h:209
static const WebsocketList & getActiveWebsockets()
Obtain the list of active websockets.
Definition: WebsocketConnection.h:200
bool onConnected()
Call this method when the websocket connection was (re)activated.
HttpConnection * getConnection()
Gets the underlying HTTP connection.
Definition: WebsocketConnection.h:264
Represents either an incoming or outgoing response to a HTTP request.
Definition: HttpResponse.h:25
static int staticOnControlPayload(void *userData, const char *, size_t length)
void activate()
Should be called after a websocket connection is established to activate the websocket parser and all...
WsConnectionState
Current state of Websocket connection.
Definition: WebsocketConnection.h:49
static int staticOnDataPayload(void *userData, const char *at, size_t length)
bool operator==(const WebsocketConnection &rhs) const
Test if another connection refers to the same object.
Definition: WebsocketConnection.h:190
void setUserData(void *userData)
Attaches a user data to a websocket connection.
Definition: WebsocketConnection.h:172
static void broadcast(const char *message, size_t length, ws_frame_type_t type=WS_FRAME_TEXT)
Broadcasts a message to all active websocket connections.
Definition: TcpClient.h:45
WebsocketDelegate wsDisconnect
Definition: WebsocketConnection.h:310
static int staticOnDataEnd(void *userData)
static int staticOnControlBegin(void *userData, ws_frame_type_t type)
bool bind(HttpRequest &request, HttpResponse &response)
Binds websocket connection to an http server connection.
WsConnectionState getState()
Gets the state of the websocket connection.
Definition: WebsocketConnection.h:283
void setConnection(HttpConnection *connection, bool isClientConnection=true)
Sets the underlying (transport ) HTTP connection.
Definition: WebsocketConnection.h:274
WsFrameInfo()=default
Definition: WebsocketConnection.h:68
const char * c_str() const
Get a constant (un-modifiable) pointer to String content.
Definition: WString.h:616
bool send(const char *message, size_t length, ws_frame_type_t type=WS_FRAME_TEXT)
Sends a websocket message from a buffer.
void * getUserData()
Retrieves user data attached.
Definition: WebsocketConnection.h:181
WebsocketConnection(HttpConnection *connection, bool isClientConnection=true)
Constructs a websocket connection on top of http client or server connection.
void setMessageHandler(WebsocketMessageDelegate handler)
Sets the callback handler to be called after a websocket message is received.
Definition: WebsocketConnection.h:218
bool sendString(const String &message)
Sends a string websocket message.
Definition: WebsocketConnection.h:143
void setDisconnectionHandler(WebsocketDelegate handler)
Sets the callback handler to be called before closing a websocket connection.
Definition: WebsocketConnection.h:243
void setBinaryHandler(WebsocketBinaryDelegate handler)
Sets the callback handler to be called after a binary websocket message is received.
Definition: WebsocketConnection.h:227
#define DECLARE_FSTR(name)
Declare a global FSTR::String& reference.
Definition: String.hpp:63
void setPongHandler(WebsocketDelegate handler)
Sets the callback handler to be called when pong reply received.
Definition: WebsocketConnection.h:235
static int staticOnDataBegin(void *userData, ws_frame_type_t type)
bool processFrame(TcpClient &client, char *at, int size)
Callback handler to process a received TCP data frame.
static int staticOnControlEnd(void *userData)
static void broadcast(const String &message, ws_frame_type_t type=WS_FRAME_TEXT)
Broadcasts a message to all active websocket connections.
Definition: WebsocketConnection.h:134
void close()
Closes a websocket connection (without closing the underlying http connection)
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:243
bool send(const String &message, ws_frame_type_t type=WS_FRAME_TEXT)
Sends websocket message from a String.
Definition: WebsocketConnection.h:105