3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/AsyncPromise.h"
7#include "mc/deps/core/threading/IAsyncResult.h"
13namespace Bedrock::Http {
class HeaderCollection; }
16namespace Bedrock::Http {
18class WebSocket :
public ::std::enable_shared_from_this<::Bedrock::Http::WebSocket> {
40 virtual void onMessage(::std::string_view);
43 virtual void onBinaryMessage(::gsl::span<uchar const>);
46 virtual void onClose(uint);
52 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>>
55 MCNAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code>>
56 send(::std::string
const& message)
const;
66 ::std::weak_ptr<::Bedrock::Http::WebSocket> weakThis,
Definition WebSocket.h:18
static MCAPI void _onConnect(::XAsyncBlock *asyncConnect, ::std::weak_ptr<::Bedrock::Http::WebSocket > weakThis, ::Bedrock::Threading::AsyncPromise<::std::error_code > onComplete, ::HC_WEBSOCKET_OBSERVER *connectHandle)
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > send(::std::string const &message) const
static MCAPI void ** $vftable()
MCAPI ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<::std::error_code > > connect(::std::string const &uri, ::Bedrock::Http::HeaderCollection const &headers)
MCAPI void $onClose(uint)
MCAPI void $onBinaryMessage(::gsl::span< uchar const >)
static MCAPI void _deallocateSocketAsync(::HC_WEBSOCKET_OBSERVER *handle)
MCAPI void $onMessage(::std::string_view)
Definition AsyncPromise.h:8
Definition HC_WEBSOCKET_OBSERVER.h:14
Definition XAsyncBlock.h:10