finam.IAdapter#
- class finam.IAdapter[source]#
-
Interface for adapters.
- Attributes:
infoInfo: The input’s data info.
is_staticWhether the input is static
memory_limitThe memory limit for this slot
memory_locationThe memory-mapping location for this slot
metadataThe adapter’s meta data.
nameInput name.
needs_pullbool: if the input needs pull.
needs_pushbool: if the input needs push.
sourceGet the input’s source output or adapter
targetsGet target inputs and adapters for this output.
timeThe output’s time of the latest available data
Methods
add_target(target)Add a target input or adapter for this output.
chain(other)Chain outputs and adapters.
exchange_info(info)Exchange the data info with the input's source.
finalize()Finalize the output
get_data(time, target)Get the output's data-set for the given time.
get_info(info)Exchange and get the output's data info.
has_info()Returns if the output has a data info.
notify_targets(time)Notify all targets by calling their
source_updated(time)method.ping()Pings upstream to inform outputs about the number of connected inputs.
pinged(source)Called when receiving a ping from a downstream input.
pull_data(time, target)Retrieve the data from the input's source.
push_data(data, time)Push data into the output.
push_info(info)Push data info into the output.
source_updated(time)Informs the input that a new output is available.
- abstract property metadata#
The adapter’s meta data. Will only be called after the connect phase of the composition.
- abstractmethod add_target(target)#
Add a target input or adapter for this output.
- Parameters:
target (
IInput) – The target to add.
- abstractmethod chain(other)#
Chain outputs and adapters.
- abstractmethod exchange_info(info)#
Exchange the data info with the input’s source.
- abstractmethod finalize()#
Finalize the output
- abstractmethod get_data(time, target)#
Get the output’s data-set for the given time.
- Parameters:
- Returns:
data-set for the requested time.
- Return type:
- Raises:
FinamNoDataError – Raises the error if no data is available
- abstractmethod get_info(info)#
Exchange and get the output’s data info.
- Parameters:
info (
Info) – Requested data info- Returns:
Delivered data info
- Return type:
- Raises:
FinamNoDataError – Raises the error if no info is available
- abstractmethod has_info()#
Returns if the output has a data info.
The info is not required to be validly exchanged.
- abstract property is_static#
Whether the input is static
- abstract property memory_limit#
The memory limit for this slot
- abstract property memory_location#
The memory-mapping location for this slot
- abstract property name#
Input name.
- abstractmethod notify_targets(time)#
Notify all targets by calling their
source_updated(time)method.- Parameters:
time (
datetime) – Simulation time of the simulation.
- abstractmethod ping()#
Pings upstream to inform outputs about the number of connected inputs.
Must be called after linking and before the connect phase.
- abstractmethod pinged(source)#
Called when receiving a ping from a downstream input.
- Parameters:
source (
IInput) – Pinging target end point
- abstractmethod pull_data(time, target)#
Retrieve the data from the input’s source.
- Parameters:
- Returns:
Data set for the given simulation time.
- Return type:
- abstractmethod push_data(data, time)#
Push data into the output.
Should notify targets, and can handle the provided date.
- Parameters:
data (array_like) – Data set to push.
time (
datetime) – Simulation time of the data set.
- abstractmethod push_info(info)#
Push data info into the output.
- Parameters:
info (
Info) – Delivered data info
- abstract property source#
Get the input’s source output or adapter
- Returns:
The input’s source.
- Return type:
- abstractmethod source_updated(time)#
Informs the input that a new output is available.
- Parameters:
time (
datetime) – Simulation time of the notification.
- abstract property targets#
Get target inputs and adapters for this output.
- Returns:
List of targets.
- Return type:
- abstract property time#
The output’s time of the latest available data