MultiPort#
- class maize.core.interface.MultiPort(*args: Any, **kwargs: Any)[source]#
Bases:
Port
[T
]Aggregate Port parent class, allowing multiple ports to be integrated into one instance.
- Parameters:
timeout – Timeout used for continuously polling the connection for data on a blocking receive call.
optional – Whether this port is required for the process to stay alive. If the connection to an optional port is closed by a neighbouring process, the current node will not shutdown.
n_ports – The number of ports to instantiate, if not given will allow dynamic creation of new ports when set_channel is called
mode – Whether to
'link'
,'move'
or'copy'
(default) files.
- name#
Unique port name
- parent#
Parent node instance this port is part of
- Raises:
PortException – If the port is used without a connected channel
Examples
Accessing individual ports through indexing:
>>> out[0].send(item)
- __init__(timeout: float = 0.5, optional: bool = False, n_ports: int | None = None, mode: Literal['copy', 'link', 'move'] = 'copy') None [source]#
Methods
__init__
([timeout, optional, n_ports, mode])build
(name, parent)Instantiate an interface from the description.
check
(value)Checks if a value is valid using type annotations.
close
()Closes the port.
is_connected
(port)Specifies whether the port is connected.
set_channel
(channel)Set the channel associated with the port.
Attributes
Specifies whether the port is active or not.
Specifies whether the port is connected.
Provides a unique path to the interface.
Provides a serialized summary of the parameter
Returns the approximate number of items waiting in the channel
datatype
doc
- build(name: str, parent: Component) _TInter [source]#
Instantiate an interface from the description.
- Parameters:
name – Name of the interface, will typically be the attribute name of the parent object
parent – Parent component instance
- Returns:
Copy of the current instance, with references to the name and the parent
- Return type:
_TInter
- check(value: T) bool #
Checks if a value is valid using type annotations.
- Parameters:
value – Value to typecheck
- Returns:
True
if the value is valid,False
otherwise- Return type:
- close() None [source]#
Closes the port.
This can be detected by neighbouring nodes waiting on the port, and subsequently cause them to shut down.
- Raises:
PortException – If the port is not connected
- static is_connected(port: _PortType) TypeGuard[_PortChannel[T]] [source]#
Specifies whether the port is connected.