Skip to content

proxystore_ex.connectors.dim.models

Message types for communication with DIM servers.

DIMKey

Bases: NamedTuple

Key to objects stored across UCXConnectors.

Attributes:

  • dim_type (Literal['margo', 'ucx', 'zmq']) –

    Type of DIM this key belongs to.

  • obj_id (str) –

    Unique object key.

  • size (int) –

    Object size in bytes.

  • peer_host (str) –

    Hostname of peer where object is located.

  • peer_port (int) –

    Port of peer server where object is located.

RPC dataclass

RPC(
    operation: Literal["exists", "evict", "get", "put"],
    key: DIMKey,
    data: bytes | None = None,
)

Client request to a DIM server.

Attributes:

  • operation (Literal['exists', 'evict', 'get', 'put']) –

    Operation type requested.

  • key (DIMKey) –

    Key to operate on.

  • size (DIMKey) –

    Size of data associated with key.

  • data (bytes | None) –

    Data associated with set operation.

RPCResponse dataclass

RPCResponse(
    operation: Literal["exists", "evict", "get", "put"],
    key: DIMKey,
    data: bytes | None = None,
    exists: bool | None = None,
    exception: Exception | None = None,
)

Server response to a client request.

Attributes:

  • operation (Literal['exists', 'evict', 'get', 'put']) –

    Operation type performed.

  • key (DIMKey) –

    Key that was operated on.

  • size (DIMKey) –

    Size of data associated with key.

  • data (bytes | None) –

    Data returned by get operation.

  • exists (bool | None) –

    Return value for exists operation.

  • exception (Exception | None) –

    Optional exception raised by the operation.