obci.control.peer package¶
Submodules¶
obci.control.peer.config_defaults module¶
obci.control.peer.config_server module¶
obci.control.peer.configured_client module¶
obci.control.peer.configured_multiplexer_server module¶
obci.control.peer.peer_cmd module¶
-
class
obci.control.peer.peer_cmd.
ConfigSourceAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶
-
class
obci.control.peer.peer_cmd.
ExtParamAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶
-
class
obci.control.peer.peer_cmd.
LaunchDepAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶
-
class
obci.control.peer.peer_cmd.
LocParamAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶
-
class
obci.control.peer.peer_cmd.
PeerParamAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
obci.control.peer.peer_config module¶
-
class
obci.control.peer.peer_config.
PeerConfig
(peer_id=None, warn_overwrite=False)[source]¶ Bases:
object
This class represents core configuration of an OpenBCI peer. It is meant to be used both as an output of a config parser and as a configuration holder for the running peer (wrapped in a controller with networking capabilities).
Peer configuration consists of local parameters, external parameters, config sources definitions and launch dependencies.
- Local parameters:
- param_name : value
are owned by the peer itself, whereas external parameters have to be obtained from other peers.
- External parameter definition:
- local_parameter_name : config_source_name.parameter_name
Config source names are symbolic names for dependencies. In run time real peer ID’s are assingned to those names; parameter_name is the remote parameter that is requested from source.
Launch dependencies are similar to config sources: the definitions are identical and symbolic name pool is common with config source names i.e. all names are global in the configuration file. Launch dependencies are used when we want to delay peer start until all dependncies report that they are ready to work.
-
add_external_param_def
(param_name, reference)[source]¶ Store an external parameter definition. param_name is the local name of the parameter, reference is a string ‘source_name.remote_param_name’. Warns about overwriting definitions, especially when a previously local parameter becomes external.
-
add_local_param
(param_name, value)[source]¶ Store a value of a local parameter. Warn when a parameter is overwritten, especially when a previously external parameter becomes local.
-
config_ready
()[source]¶ Return True if the configuration is usable, i.e. all used config sources have peer ID’s assigned and all external parameter values are already obtained.
-
config_sources
¶ Configuration sources’ symbolic names and their assigned real peer IDs. (A dictionary)
-
config_sources_ready
(details=None)[source]¶ Return True if all used config sources have peer ID’s assigned.
-
dep_ids
¶ Peer ID’s of the launch dependencies and lists of their symbolic names. (A dictionary)
-
ext_param_defs
¶ External parameter definitions. A definition consists of a local parameter name and a reference: pair of symbolic source name and remote parameter name.
-
external_params_ready
(details=None)[source]¶ Return True if the values of all external parameters have been successfully obtained.
-
get_param
(param_name)[source]¶ Return value of a parameter param_name. Parameter may be local or external.
-
launch_deps
¶ Launch dependencies’ symbolic names and their assigned real peer IDs. (A dictionary)
-
local_params
¶ Local parameters and values (dict)
-
param_values
¶ A dictionary of all parameter values.
-
params_for_source
(p_src)[source]¶ Return a list of parameters coming from this source (symbolic name).
-
ready_ext_params
¶ External parameters with values succesfully obtained from sources.
-
set_config_source
(source_name, peer_id='', _set_dep=True)[source]¶ Store a configuration symbolic source name and its real peer_id. Default ID is empty and can be updated later. Warns on overwrite.
-
set_param_from_source
(src_id, src_param, value)[source]¶ Store a value of a remote parameter. src_id - peer ID of the source src_param - remote parameter name value - parameter value
-
source_ids
¶ Peer ID’s of the config sources and lists of their symbolic names. (A dictionary)
-
unassigned_config_sources
()[source]¶ Return a list of configuration source names which do not have real peer ID assigned.
-
unassigned_launch_deps
()[source]¶ Return a list of launch dependency names which do not have real peer ID assigned.
-
unset_params_for_source
(p_src)[source]¶ Return a list of parameters coming from this source (symbolic name) which are not yet set.
-
unused_config_sources
()[source]¶ Return a list of symbolic source names which are NOT referenced in external parameter definitions.
-
update_external_param_def
(param_name, reference)[source]¶ Update external parameter definition. Works as add_external_param_def() but the definition should already be stored in PeerConfig. Otherwise raises ValueError.
obci.control.peer.peer_config_parser module¶
-
exception
obci.control.peer.peer_config_parser.
ConfigSourceError
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParserError
-
exception
obci.control.peer.peer_config_parser.
IncompleteConfigSections
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParserError
-
exception
obci.control.peer.peer_config_parser.
ParserNotFoundError
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParserError
-
class
obci.control.peer.peer_config_parser.
PeerConfigParser
[source]¶ Bases:
object
-
config_parts
= ['config_sources', 'external_params', 'local_params', 'launch_dependencies']¶
-
-
class
obci.control.peer.peer_config_parser.
PeerConfigParserDict
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParserJSON
-
class
obci.control.peer.peer_config_parser.
PeerConfigParserINI
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParser
-
class
obci.control.peer.peer_config_parser.
PeerConfigParserJSON
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParser
-
exception
obci.control.peer.peer_config_parser.
UnknownConfigSection
[source]¶ Bases:
obci.control.peer.peer_config_parser.PeerConfigParserError
obci.control.peer.peer_config_serializer module¶
-
class
obci.control.peer.peer_config_serializer.
PeerConfigSerializer
[source]¶ Bases:
object
-
config_parts
= ['config_sources', 'launch_dependencies', 'external_params', 'local_params']¶
-
-
class
obci.control.peer.peer_config_serializer.
PeerConfigSerializerCmd
[source]¶ Bases:
obci.control.peer.peer_config_serializer.PeerConfigSerializer
-
class
obci.control.peer.peer_config_serializer.
PeerConfigSerializerINI
[source]¶ Bases:
obci.control.peer.peer_config_serializer.PeerConfigSerializer
-
class
obci.control.peer.peer_config_serializer.
PeerConfigSerializerJSON
[source]¶ Bases:
obci.control.peer.peer_config_serializer.PeerConfigSerializer
-
class
obci.control.peer.peer_config_serializer.
PeerConfigSerializerProtobuf
[source]¶ Bases:
obci.control.peer.peer_config_serializer.PeerConfigSerializer
obci.control.peer.peer_control module¶
-
exception
obci.control.peer.peer_control.
ConfigNotReadyError
(value=None)[source]¶ Bases:
obci.control.peer.peer_control.PeerConfigControlError
-
exception
obci.control.peer.peer_control.
NoPeerError
(value=None)[source]¶ Bases:
obci.control.peer.peer_control.PeerConfigControlError
-
exception
obci.control.peer.peer_control.
PeerConfigControlError
(value=None)[source]¶ Bases:
Exception
-
class
obci.control.peer.peer_control.
PeerControl
(peer=None, connection=None, param_validate_method=None, param_change_method=None)[source]¶ Bases:
object
-
exception
obci.control.peer.peer_control.
UnsupportedMessageType
[source]¶ Bases:
obci.control.peer.peer_control.PeerConfigControlWarning