3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/XAsyncOp.h"
7#include "mc/external/lib_http_client/HCWebSocketCloseStatus.h"
8#include "mc/external/lib_http_client/http_stl_allocator.h"
15namespace xbox::httpclient {
class IWebSocketProvider; }
16namespace xbox::httpclient {
struct HeaderCompare; }
19namespace xbox::httpclient {
21class WebSocket :
public ::std::enable_shared_from_this<::xbox::httpclient::WebSocket> {
56 MCNAPI
void*
$ctor(::std::shared_ptr<::xbox::httpclient::WebSocket> websocket,
::XAsyncBlock* async);
92 enum class State :
int {
157 void* callbackContext
162 MCNAPI
long SetHeader(::http_string&& headerName, ::http_string&& headerValue);
194 uchar
const* payloadBytes,
Definition http_stl_allocator.h:6
Definition IWebSocketProvider.h:17
Definition WebSocket.h:21
static MCAPI void BinaryMessageFragmentFunc(::HC_WEBSOCKET_OBSERVER *handle, uchar const *bytes, uint payloadSize, bool isLastFragment, void *)
static MCAPI void BinaryMessageFunc(::HC_WEBSOCKET_OBSERVER *handle, uchar const *bytes, uint payloadSize, void *)
MCAPI uint RegisterEventCallbacks(void(*messageFunc)(::HC_WEBSOCKET_OBSERVER *, char const *, void *), void(*binaryMessageFunc)(::HC_WEBSOCKET_OBSERVER *, uchar const *, uint, void *), void(*binaryFragmentFunc)(::HC_WEBSOCKET_OBSERVER *, uchar const *, uint, bool, void *), void(*closeFunc)(::HC_WEBSOCKET_OBSERVER *, ::HCWebSocketCloseStatus, void *), void *callbackContext)
MCAPI uint PingInterval() const
MCAPI ::std::map< ::http_string, ::http_string, ::xbox::httpclient::HeaderCompare, ::http_stl_allocator<::std::pair<::http_string const, ::http_string > > > const & Headers() const
static MCAPI void NotifyWebSocketRoutedHandlers(::HC_WEBSOCKET_OBSERVER *websocket, bool receiving, char const *message, uchar const *payloadBytes, uint64 payloadSize)
MCAPI uint64 MaxReceiveBufferSize() const
static MCAPI void MessageFunc(::HC_WEBSOCKET_OBSERVER *handle, char const *message, void *)
static MCAPI void ** $vftable()
MCAPI long SetPingInterval(uint pingInterval)
MCAPI long SendAsync(char const *message, ::XAsyncBlock *asyncBlock)
static MCAPI void ConnectComplete(::XAsyncBlock *async)
MCAPI long ConnectAsync(::http_string &&uri, ::http_string &&subProtocol, ::XAsyncBlock *asyncBlock)
MCAPI WebSocket(uint64 _id, ::xbox::httpclient::IWebSocketProvider &provider)
static MCAPI long ConnectAsyncProvider(::XAsyncOp op, ::XAsyncProviderData const *data)
MCAPI void * $ctor(uint64 _id, ::xbox::httpclient::IWebSocketProvider &provider)
MCAPI long SetHeader(::http_string &&headerName, ::http_string &&headerValue)
static MCAPI void CloseFunc(::HC_WEBSOCKET_OBSERVER *handle, ::HCWebSocketCloseStatus status, void *)
Definition HC_WEBSOCKET_OBSERVER.h:14
Definition XAsyncBlock.h:10
Definition XAsyncProviderData.h:5
Definition WebSocket.h:31
MCAPI ConnectContext(::std::shared_ptr<::xbox::httpclient::WebSocket > websocket, ::XAsyncBlock *async)
MCAPI void * $ctor(::std::shared_ptr<::xbox::httpclient::WebSocket > websocket, ::XAsyncBlock *async)
Definition WebSocket.h:74
Definition WebSocket.h:60