Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
mp::ServerInvokeContext< ProxyServer, CallContext_ > Struct Template Reference

#include <proxy-io.h>

Inheritance diagram for mp::ServerInvokeContext< ProxyServer, CallContext_ >:
[legend]
Collaboration diagram for mp::ServerInvokeContext< ProxyServer, CallContext_ >:
[legend]

Public Types

using CallContext = CallContext_

Public Member Functions

 ServerInvokeContext (ProxyServer &proxy_server, CallContext &call_context, int req)

Public Attributes

ProxyServerproxy_server
CallContextcall_context
int req
Lockcancel_lock {nullptr}
bool request_canceled {false}
Public Attributes inherited from mp::InvokeContext
Connectionconnection

Detailed Description

template<typename ProxyServer, typename CallContext_>
struct mp::ServerInvokeContext< ProxyServer, CallContext_ >

Definition at line 44 of file proxy-io.h.

Member Typedef Documentation

◆ CallContext

template<typename ProxyServer, typename CallContext_>
using mp::ServerInvokeContext< ProxyServer, CallContext_ >::CallContext = CallContext_

Definition at line 46 of file proxy-io.h.

Constructor & Destructor Documentation

◆ ServerInvokeContext()

template<typename ProxyServer, typename CallContext_>
mp::ServerInvokeContext< ProxyServer, CallContext_ >::ServerInvokeContext ( ProxyServer & proxy_server,
CallContext & call_context,
int req )
inline

Definition at line 65 of file proxy-io.h.

Member Data Documentation

◆ call_context

template<typename ProxyServer, typename CallContext_>
CallContext& mp::ServerInvokeContext< ProxyServer, CallContext_ >::call_context

Definition at line 49 of file proxy-io.h.

◆ cancel_lock

template<typename ProxyServer, typename CallContext_>
Lock* mp::ServerInvokeContext< ProxyServer, CallContext_ >::cancel_lock {nullptr}

For IPC methods that execute asynchronously, not on the event-loop thread: lock preventing the event-loop thread from freeing the params or results structs if the request is canceled while the worker thread is reading params (call_context.getParams()) or writing results (call_context.getResults()).

Definition at line 56 of file proxy-io.h.

◆ proxy_server

template<typename ProxyServer, typename CallContext_>
ProxyServer& mp::ServerInvokeContext< ProxyServer, CallContext_ >::proxy_server

Definition at line 48 of file proxy-io.h.

◆ req

template<typename ProxyServer, typename CallContext_>
int mp::ServerInvokeContext< ProxyServer, CallContext_ >::req

Definition at line 50 of file proxy-io.h.

◆ request_canceled

template<typename ProxyServer, typename CallContext_>
bool mp::ServerInvokeContext< ProxyServer, CallContext_ >::request_canceled {false}

For IPC methods that execute asynchronously, not on the event-loop thread, this is set to true if the IPC call was canceled by the client or canceled by a disconnection. If the call runs on the event-loop thread, it can't be canceled. This should be accessed with cancel_lock held if it is not null, since in the asynchronous case it is accessed from multiple threads.

Definition at line 63 of file proxy-io.h.


The documentation for this struct was generated from the following file: