Skip to content

Sender

veltix.network.sender.Sender

Sends messages over TCP in CLIENT or SERVER mode.

CLIENT: single server connection. SERVER: sends to individual clients or broadcasts.

__init__

__init__(mode: Mode | str, conn: BaseSocket | None = None, bus: VeltixBus | None = None, get_all_clients: Callable[[], Sequence[_ClientLike]] | None = None, id_allocator: IDAllocator | None = None, use_rust: bool | None = None) -> None

Initialize the sender with a mode and an optional connection.

Parameters:

Name Type Description Default
mode Mode | str

CLIENT or SERVER mode.

required
conn BaseSocket | None

Connection socket (required in CLIENT mode).

None
bus VeltixBus | None

Event bus instance.

None
get_all_clients Callable[[], Sequence[_ClientLike]] | None

Callable returning all connected client sockets (SERVER mode).

None
id_allocator IDAllocator | None

ID allocator for auto-assigning request IDs.

None
use_rust bool | None

Pin the protocol engine for outgoing compilation. None (default) captures the process-wide engine.

None

send

send(data: Request, client: BaseSocket | None = None) -> bool

Send a request over the network.

In CLIENT mode, uses the internal connection. In SERVER mode, uses the provided client socket.

Parameters:

Name Type Description Default
data Request

Request to send.

required
client BaseSocket | None

Target client socket (required in SERVER mode).

None

Returns:

Type Description
bool

True if the send succeeded, False otherwise.

broadcast

broadcast(data: Request, list_of_clients: Sequence[_ClientLike] | None = None, except_clients: Sequence[_ClientLike] | None = None) -> bool

Send a request to multiple clients (SERVER mode only).

Parameters:

Name Type Description Default
data Request

Request to broadcast.

required
list_of_clients Sequence[_ClientLike] | None

Target clients. Accepts BaseSocket or ClientInfo. Defaults to all connected clients.

None
except_clients Sequence[_ClientLike] | None

Clients to exclude. Accepts BaseSocket or ClientInfo.

None

Returns:

Type Description
bool

True if all sends succeeded, False otherwise.