3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/http/StatusCode.h"
7#include "mc/deps/core/http/WebSocket.h"
8#include "mc/deps/core/threading/Async.h"
9#include "mc/deps/core/threading/AsyncPromise.h"
15namespace Bedrock::Http {
struct Url; }
18namespace Bedrock::Http {
30 PersistentWebSocket& operator=(PersistentWebSocket
const&);
31 PersistentWebSocket(PersistentWebSocket
const&);
36 virtual ~PersistentWebSocket() ;
38 virtual bool shouldReconnect()
const;
40 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Url> getUrl() = 0;
42 virtual ::Bedrock::Threading::Async<::Bedrock::Http::HeaderCollection> getHeaders();
44 virtual ::Bedrock::Http::RetryPolicy getReconnectPolicy();
46 virtual void onConnect();
48 virtual void onDisconnect(
bool, uint);
50 virtual void onClose(uint status) ;
56 MCNAPI_S PersistentWebSocket();
59 ::std::string
const& uri,
61 ::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code>,
68 ::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code> result,
73 ::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code> lastResult,
77 MCNAPI ::Bedrock::Threading::Async<::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code>>
86 MCNAPI_S
void* $ctor();
100 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::HeaderCollection>
$getHeaders();
MCAPI void _reconnect(::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code > lastResult, ::Bedrock::Http::RetryPolicy &&retry)
MCAPI::Bedrock::Http::RetryPolicy $getReconnectPolicy()
MCAPI void $onDisconnect(bool, uint)
MCAPI void _onCloseMaybeReconnect(uint status, bool shouldReconnect)
MCAPI void $onClose(uint status)
MCAPI bool $shouldReconnect() const
MCAPI void _connectWithRetry(::std::string const &uri, ::Bedrock::Http::HeaderCollection const &headers, ::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code >, ::Bedrock::Http::RetryPolicy &&retry)
MCAPI void _onConnect(::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code > result, ::Bedrock::Http::RetryPolicy &&retry)
static MCAPI void ** $vftable()
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::HeaderCollection > $getHeaders()
MCAPI ::Bedrock::Threading::Async<::nonstd::expected<::Bedrock::Http::StatusCode, ::std::error_code > > connectWithRetry(::Bedrock::Http::RetryPolicy &&retry)
Definition RetryPolicy.h:12
Definition WebSocket.h:19