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
|
send
¶
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. |