MultiOutput#
- class maize.core.interface.MultiOutput(*args: Any, **kwargs: Any)[source]#
 Bases:
MultiPort[T]Aggregation of multiple output ports into a single port.
Index into the port to access a normal Output instance with a send method.
- Parameters:
 timeout – Timeout used for continuously polling the connection for free space on a potentially blocking send 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
>>> class Example(Node): ... out = MultiOutput[int](n_ports=2) ... ... def run(self): ... self.out[0].send(42) ... self.out[1].send(69)
- __init__(timeout: float = 0.5, optional: bool = False, n_ports: int | None = None, mode: Literal['copy', 'link', 'move'] = 'copy') None#
 
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
datatypedoc- build(name: str, parent: Component) _TInter#
 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:
 Trueif the value is valid,Falseotherwise- Return type:
 
- close() None#
 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]]#
 Specifies whether the port is connected.