webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
IPC::Connection Class Reference

#include <Connection.h>

Inheritance diagram for IPC::Connection:

Classes

class  Client
 
class  WorkQueueMessageReceiver
 

Public Types

typedef void(* DidCloseOnConnectionWorkQueueCallback) (Connection *)
 

Public Member Functions

 ~Connection ()
 
Clientclient () const
 
void setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage (bool)
 
void setShouldExitOnSyncMessageSendFailure (bool shouldExitOnSyncMessageSendFailure)
 
void setDidCloseOnConnectionWorkQueueCallback (DidCloseOnConnectionWorkQueueCallback callback)
 
void addWorkQueueMessageReceiver (StringReference messageReceiverName, WorkQueue &, WorkQueueMessageReceiver *)
 
void removeWorkQueueMessageReceiver (StringReference messageReceiverName)
 
bool open ()
 
void invalidate ()
 
void markCurrentlyDispatchedMessageAsInvalid ()
 
void postConnectionDidCloseOnConnectionWorkQueue ()
 
template<typename T >
bool send (T &&message, uint64_t destinationID, OptionSet< SendOption > sendOptions={ })
 
template<typename T >
void sendWithReply (T &&message, uint64_t destinationID, FunctionDispatcher &replyDispatcher, Function< void(std::optional< typename CodingType< typename T::Reply >::Type >)> &&replyHandler)
 
template<typename T >
bool sendSync (T &&message, typename T::Reply &&reply, uint64_t destinationID, Seconds timeout=Seconds::infinity(), OptionSet< SendSyncOption > sendSyncOptions={ })
 
template<typename T >
bool waitForAndDispatchImmediately (uint64_t destinationID, Seconds timeout, OptionSet< WaitForOption > waitForOptions={ })
 
bool sendMessage (std::unique_ptr< Encoder >, OptionSet< SendOption > sendOptions)
 
void sendMessageWithReply (uint64_t requestID, std::unique_ptr< Encoder >, FunctionDispatcher &replyDispatcher, Function< void(std::unique_ptr< Decoder >)> &&replyHandler)
 
std::unique_ptr< EncodercreateSyncMessageEncoder (StringReference messageReceiverName, StringReference messageName, uint64_t destinationID, uint64_t &syncRequestID)
 
std::unique_ptr< DecodersendSyncMessage (uint64_t syncRequestID, std::unique_ptr< Encoder >, Seconds timeout, OptionSet< SendSyncOption > sendSyncOptions)
 
bool sendSyncReply (std::unique_ptr< Encoder >)
 
void wakeUpRunLoop ()
 
void incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount ()
 
void decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount ()
 
bool inSendSync () const
 
Identifier identifier () const
 
bool isValid () const
 
uint64_t installIncomingSyncMessageCallback (std::function< void()>)
 
void uninstallIncomingSyncMessageCallback (uint64_t)
 
bool hasIncomingSyncMessage ()
 
void allowFullySynchronousModeForTesting ()
 
void ignoreTimeoutsForTesting ()
 

Static Public Member Functions

static Ref< ConnectioncreateServerConnection (Identifier, Client &)
 
static Ref< ConnectioncreateClientConnection (Identifier, Client &)
 

Member Typedef Documentation

◆ DidCloseOnConnectionWorkQueueCallback

typedef void(* IPC::Connection::DidCloseOnConnectionWorkQueueCallback) (Connection *)

Constructor & Destructor Documentation

◆ ~Connection()

IPC::Connection::~Connection ( )

Member Function Documentation

◆ addWorkQueueMessageReceiver()

void IPC::Connection::addWorkQueueMessageReceiver ( StringReference  messageReceiverName,
WorkQueue workQueue,
WorkQueueMessageReceiver workQueueMessageReceiver 
)

◆ allowFullySynchronousModeForTesting()

void IPC::Connection::allowFullySynchronousModeForTesting ( )
inline

◆ client()

Client& IPC::Connection::client ( ) const
inline

◆ createClientConnection()

Ref< Connection > IPC::Connection::createClientConnection ( Identifier  identifier,
Client client 
)
static

◆ createServerConnection()

Ref< Connection > IPC::Connection::createServerConnection ( Identifier  identifier,
Client client 
)
static

◆ createSyncMessageEncoder()

std::unique_ptr< Encoder > IPC::Connection::createSyncMessageEncoder ( StringReference  messageReceiverName,
StringReference  messageName,
uint64_t  destinationID,
uint64_t syncRequestID 
)

◆ decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount()

void IPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount ( )
inline

◆ hasIncomingSyncMessage()

bool IPC::Connection::hasIncomingSyncMessage ( )

◆ identifier()

IPC::Connection::Identifier IPC::Connection::identifier ( ) const

◆ ignoreTimeoutsForTesting()

void IPC::Connection::ignoreTimeoutsForTesting ( )
inline

◆ incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount()

void IPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount ( )
inline

◆ inSendSync()

bool IPC::Connection::inSendSync ( ) const
inline

◆ installIncomingSyncMessageCallback()

uint64_t IPC::Connection::installIncomingSyncMessageCallback ( std::function< void()>  callback)

◆ invalidate()

void IPC::Connection::invalidate ( )

◆ isValid()

bool IPC::Connection::isValid ( ) const
inline

◆ markCurrentlyDispatchedMessageAsInvalid()

void IPC::Connection::markCurrentlyDispatchedMessageAsInvalid ( )

◆ open()

bool IPC::Connection::open ( )

◆ postConnectionDidCloseOnConnectionWorkQueue()

void IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue ( )

◆ removeWorkQueueMessageReceiver()

void IPC::Connection::removeWorkQueueMessageReceiver ( StringReference  messageReceiverName)

◆ send()

template<typename T >
bool IPC::Connection::send ( T &&  message,
uint64_t  destinationID,
OptionSet< SendOption sendOptions = { } 
)

◆ sendMessage()

bool IPC::Connection::sendMessage ( std::unique_ptr< Encoder encoder,
OptionSet< SendOption sendOptions 
)

◆ sendMessageWithReply()

void IPC::Connection::sendMessageWithReply ( uint64_t  requestID,
std::unique_ptr< Encoder encoder,
FunctionDispatcher &  replyDispatcher,
Function< void(std::unique_ptr< Decoder >)> &&  replyHandler 
)

◆ sendSync()

template<typename T >
bool IPC::Connection::sendSync ( T &&  message,
typename T::Reply &&  reply,
uint64_t  destinationID,
Seconds  timeout = Seconds::infinity(),
OptionSet< SendSyncOption sendSyncOptions = { } 
)

◆ sendSyncMessage()

std::unique_ptr< Decoder > IPC::Connection::sendSyncMessage ( uint64_t  syncRequestID,
std::unique_ptr< Encoder encoder,
Seconds  timeout,
OptionSet< SendSyncOption sendSyncOptions 
)

◆ sendSyncReply()

bool IPC::Connection::sendSyncReply ( std::unique_ptr< Encoder encoder)

◆ sendWithReply()

template<typename T >
void IPC::Connection::sendWithReply ( T &&  message,
uint64_t  destinationID,
FunctionDispatcher &  replyDispatcher,
Function< void(std::optional< typename CodingType< typename T::Reply >::Type >)> &&  replyHandler 
)

◆ setDidCloseOnConnectionWorkQueueCallback()

void IPC::Connection::setDidCloseOnConnectionWorkQueueCallback ( DidCloseOnConnectionWorkQueueCallback  callback)

◆ setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage()

void IPC::Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage ( bool  flag)

◆ setShouldExitOnSyncMessageSendFailure()

void IPC::Connection::setShouldExitOnSyncMessageSendFailure ( bool  shouldExitOnSyncMessageSendFailure)

◆ uninstallIncomingSyncMessageCallback()

void IPC::Connection::uninstallIncomingSyncMessageCallback ( uint64_t  callbackID)

◆ waitForAndDispatchImmediately()

template<typename T >
bool IPC::Connection::waitForAndDispatchImmediately ( uint64_t  destinationID,
Seconds  timeout,
OptionSet< WaitForOption waitForOptions = { } 
)

◆ wakeUpRunLoop()

void IPC::Connection::wakeUpRunLoop ( )

The documentation for this class was generated from the following files: