Skip to content
Snippets Groups Projects
Commit 7892eed0 authored by Hendrik Buschmeier's avatar Hendrik Buschmeier
Browse files

ipaaca-python: Moved rsb initialisation from module to Buffer.

parent 1a00f866
No related branches found
No related tags found
No related merge requests found
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
from __future__ import division, print_function from __future__ import division, print_function
import threading
import rsb import rsb
import rsb.converter import rsb.converter
...@@ -44,46 +46,54 @@ from ipaaca.misc import enable_logging, IpaacaArgumentParser ...@@ -44,46 +46,54 @@ from ipaaca.misc import enable_logging, IpaacaArgumentParser
from ipaaca.payload import Payload from ipaaca.payload import Payload
def initialize_ipaaca_rsb(): __RSB_INITIALIZER_LOCK = threading.Lock()
''''Register own RSB Converters and initialise RSB from default config file.''' __RSB_INITIALIZED = False
rsb.converter.registerGlobalConverter(
ipaaca.converter.IntConverter(
wireSchema="int32",
dataType=int))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IUConverter(
wireSchema="ipaaca-iu",
dataType=IU))
rsb.converter.registerGlobalConverter(
ipaaca.converter.MessageConverter(
wireSchema="ipaaca-messageiu",
dataType=Message))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IULinkUpdateConverter(
wireSchema="ipaaca-iu-link-update",
dataType=converter.IULinkUpdate))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IUPayloadUpdateConverter(
wireSchema="ipaaca-iu-payload-update",
dataType=converter.IUPayloadUpdate))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IUCommission))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IUResendRequest))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IURetraction))
rsb.__defaultParticipantConfig = rsb.ParticipantConfig.fromDefaultSources() def initialize_ipaaca_rsb_if_needed():
'''Register own RSB Converters and initialise RSB from default config file.'''
global __RSB_INITIALIZED
with __RSB_INITIALIZER_LOCK:
if __RSB_INITIALIZED:
return
else:
rsb.converter.registerGlobalConverter(
ipaaca.converter.IntConverter(
wireSchema="int32",
dataType=int))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IUConverter(
wireSchema="ipaaca-iu",
dataType=IU))
rsb.converter.registerGlobalConverter(
ipaaca.converter.MessageConverter(
wireSchema="ipaaca-messageiu",
dataType=Message))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IULinkUpdateConverter(
wireSchema="ipaaca-iu-link-update",
dataType=converter.IULinkUpdate))
rsb.converter.registerGlobalConverter(
ipaaca.converter.IUPayloadUpdateConverter(
wireSchema="ipaaca-iu-payload-update",
dataType=converter.IUPayloadUpdate))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IUCommission))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IUResendRequest))
rsb.converter.registerGlobalConverter(
rsb.converter.ProtocolBufferConverter(
messageClass=ipaaca_pb2.IURetraction))
rsb.__defaultParticipantConfig = rsb.ParticipantConfig.fromDefaultSources()
# Initialise module __RSB_INITIALIZED = True
initialize_ipaaca_rsb()
...@@ -157,6 +157,7 @@ class Buffer(object): ...@@ -157,6 +157,7 @@ class Buffer(object):
participant_config -- RSB configuration participant_config -- RSB configuration
''' '''
super(Buffer, self).__init__() super(Buffer, self).__init__()
ipaaca.initialize_ipaaca_rsb_if_needed()
self._owning_component_name = owning_component_name self._owning_component_name = owning_component_name
self._channel = channel if channel is not None else ipaaca.defaults.IPAACA_DEFAULT_CHANNEL self._channel = channel if channel is not None else ipaaca.defaults.IPAACA_DEFAULT_CHANNEL
self._participant_config = rsb.ParticipantConfig.fromDefaultSources() if participant_config is None else participant_config self._participant_config = rsb.ParticipantConfig.fromDefaultSources() if participant_config is None else participant_config
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment