UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMessageBridge Class Reference

#include <MessageBridge.h>

+ Inheritance diagram for FMessageBridge:

Public Member Functions

 FMessageBridge (const FMessageAddress InAddress, const TSharedRef< IMessageBus, ESPMode::ThreadSafe > &InBus, const TSharedRef< IMessageTransport, ESPMode::ThreadSafe > &InTransport)
 
virtual ~FMessageBridge ()
 
virtual void Disable () override
 
virtual void Enable () override
 
virtual bool IsEnabled () const override
 
virtual FGuid LookupAddress (const FMessageAddress &InAddress)
 
virtual FName GetDebugName () const override
 
virtual const FGuidGetRecipientId () const override
 
virtual ENamedThreads::Type GetRecipientThread () const override
 
virtual bool IsLocal () const override
 
virtual void ReceiveMessage (const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
 
virtual FMessageAddress GetSenderAddress () override
 
virtual void NotifyMessageError (const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context, const FString &Error) override
 
- Public Member Functions inherited from TSharedFromThis< FMessageBridge, ESPMode::ThreadSafe >
TSharedRef< FMessageBridge, Mode > AsShared ()
 
TSharedRef< FMessageBridge const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FMessageBridge, Mode > AsWeak ()
 
TWeakPtr< FMessageBridge const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from IMessageBridge
virtual ~IMessageBridge ()
 
- Public Member Functions inherited from IMessageReceiver
bool IsRemote () const
 
virtual ~IMessageReceiver ()
 
- Public Member Functions inherited from IMessageSender
virtual ~IMessageSender ()
 

Protected Member Functions

virtual void DiscoverTransportNode (const FGuid &NodeId) override
 
virtual void ForgetTransportNode (const FGuid &NodeId) override
 
virtual void ReceiveTransportMessage (const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context, const FGuid &NodeId) override
 
- Protected Member Functions inherited from TSharedFromThis< FMessageBridge, ESPMode::ThreadSafe >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Protected Member Functions inherited from IMessageTransportHandler
virtual ~IMessageTransportHandler ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from TSharedFromThis< FMessageBridge, ESPMode::ThreadSafe >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Detailed Description

Implements a message bridge.

A message bridge is a special message endpoint that connects multiple message buses running in different processes or on different devices. This allows messages that are available in one system to also be available on other systems.

Message bridges use an underlying transport layer to channel the messages between two or more systems. Such layers may utilize system specific technologies, such as network sockets or shared memory to communicate with remote bridges. The bridge acts as a map from message addresses to remote nodes and vice versa.

See also
IMessageBus, IMessageTransport

Constructor & Destructor Documentation

◆ FMessageBridge()

FMessageBridge::FMessageBridge ( const FMessageAddress  InAddress,
const TSharedRef< IMessageBus, ESPMode::ThreadSafe > &  InBus,
const TSharedRef< IMessageTransport, ESPMode::ThreadSafe > &  InTransport 
)

Creates and initializes a new instance.

Parameters
InAddressThe message address for this bridge.
InBusThe message bus that this node is connected to.
InTransportThe transport mechanism to use.

◆ ~FMessageBridge()

FMessageBridge::~FMessageBridge ( )
virtual

Virtual destructor.

Member Function Documentation

◆ Disable()

void FMessageBridge::Disable ( )
overridevirtual

Disables this bridge.

A disabled bridge will not receive any subscribed messages until it is enabled again. Bridges should be created in a disabled state by default and explicitly enabled.

See also
Enable, IsEnabled

Implements IMessageBridge.

◆ DiscoverTransportNode()

void FMessageBridge::DiscoverTransportNode ( const FGuid NodeId)
overrideprotectedvirtual

Called by message transports when a transport node has been discovered.

Parameters
NodeIdThe identifier of the discovered transport node.
See also
ForgetTransportNode

Implements IMessageTransportHandler.

◆ Enable()

void FMessageBridge::Enable ( )
overridevirtual

Enables this bridge.

An activated bridge will receive subscribed messages. Bridges should be created in a disabled state by default and explicitly enabled.

See also
Disable, IsEnabled

Implements IMessageBridge.

◆ ForgetTransportNode()

void FMessageBridge::ForgetTransportNode ( const FGuid NodeId)
overrideprotectedvirtual

Called by message transports when a transport node has been lost.

Parameters
NodeIdThe identifier of the lost transport node.
See also
DiscoverTransportNode

Implements IMessageTransportHandler.

◆ GetDebugName()

FName FMessageBridge::GetDebugName ( ) const
overridevirtual

Gets the recipient's name (for debugging purposes).

Returns
The debug name.
See also
GetRecipientId, GetRecipientThread

Implements IMessageReceiver.

◆ GetRecipientId()

const FGuid & FMessageBridge::GetRecipientId ( ) const
overridevirtual

Gets the recipient's unique identifier (for debugging purposes).

Returns
The recipient's identifier.
See also
GetDebugName, GetRecipientThread

Implements IMessageReceiver.

◆ GetRecipientThread()

ENamedThreads::Type FMessageBridge::GetRecipientThread ( ) const
overridevirtual

Gets the name of the thread on which to receive messages.

If the recipient's ReceiveMessage() is thread-safe, return ThreadAny for best performance.

Returns
Name of the receiving thread.
See also
GetDebugName, GetRecipientId

Implements IMessageReceiver.

◆ GetSenderAddress()

FMessageAddress FMessageBridge::GetSenderAddress ( )
overridevirtual

Gets the sender's address.

Returns
The message address.

Implements IMessageSender.

◆ IsEnabled()

bool FMessageBridge::IsEnabled ( ) const
overridevirtual

Checks whether the bridge is currently enabled.

Returns
true if the bridge is enabled, false otherwise.
See also
Disable, Enable

Implements IMessageBridge.

◆ IsLocal()

bool FMessageBridge::IsLocal ( ) const
overridevirtual

Checks whether this recipient represents a local endpoint.

Local recipients are located in the current thread or process. Recipients located in other processes on the same machine or on remote machines are considered remote.

Returns
true if this recipient is local, false otherwise.
See also
IsRemote

Implements IMessageReceiver.

◆ LookupAddress()

FGuid FMessageBridge::LookupAddress ( const FMessageAddress InAddress)
virtual

Provides the endpoint guid for the given address.

Parameters
MessageAddressto find remote endpoint guid.
Returns
FGuid which may be invalid.

Implements IMessageBridge.

◆ NotifyMessageError()

void FMessageBridge::NotifyMessageError ( const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &  Context,
const FString &  Error 
)
overridevirtual

Notifies the sender of errors.

Parameters
ContextThe context of the message that generated the error.
ErrorThe error string.

Implements IMessageSender.

◆ ReceiveMessage()

void FMessageBridge::ReceiveMessage ( const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &  Context)
overridevirtual

Handles the given message.

Parameters
ContextWill hold the context of the received message.

Implements IMessageReceiver.

◆ ReceiveTransportMessage()

void FMessageBridge::ReceiveTransportMessage ( const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &  Context,
const FGuid NodeId 
)
overrideprotectedvirtual

Called by message transports when a message was received.

Parameters
ContextThe context of the received message.
NodeIdThe identifier of the transport node that received the message.

Implements IMessageTransportHandler.


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