Skip to main content

core.messaging.networking.network_engine

NetworkEngine Objects​

class NetworkEngine()

Main network management class.

Messages go out to other components through this class, and new messages come in from the outside world here as well. The network engine takes care of listening to incoming messages, routing them properly, and sending new messages to other components.

__init__​

def __init__(comp_data: BackendComponentData, message_bus: MessageBusProtocol)

Arguments:

  • comp_data - The global component data.
  • message_bus - The global message bus.

run​

def run() -> None

Listens to incoming messages in order to properly route them.

process​

def process() -> None

Called to perform periodic tasks.

send_message​

def send_message(msg: Message, msg_meta: MessageMetaInformation) -> None

Sends a message across the network.

To do so, the message is first checked for validity (whether it actually may be sent). If it is valid, it is routed through the client and/or server (the logic of this can be found in NetworkRouter).

Arguments:

  • msg - The message to be sent.
  • msg_meta - The message meta information.

install_filter​

def install_filter(fltr: NetworkFilter) -> None

Installs a new network message filter.

Arguments:

  • fltr - The filter to add.

has_server​

@property
def has_server() -> bool

Whether the network runs a server.

server​

@property
def server() -> Server | None

The server instance.

has_client​

@property
def has_client() -> bool

Whether the network runs a client.

client​

@property
def client() -> Client | None

The client instance.