def __init__(self, tuple_input, tuple_output, tuple_exchange): """:parameter: tuple_input - a tuple object contains plugin name and arguments of that plugin. Plugin name is required and arguments are optional. :parameter: tuple_output - a tuple object contains plugin name and arguments of that plugin. Plugin name is required and arguments are optional. :parameter: tuple_exchange - a tuple object contains plugin name and arguments of that plugin. Plugin name is required and arguments are optional. """ assert isinstance(tuple_input, tuple) assert isinstance(tuple_output, tuple) assert isinstance(tuple_exchange, tuple) self.plugin_input = tuple_input[0] self.plugin_output = tuple_output[0] self.plugin_exchange = tuple_exchange[0] if len(tuple_input) is 2: self.input_args = tuple_input[1] if len(tuple_input) is 2: self.output_args = tuple_output[1] if len(tuple_input) is 2: self.exchange_args = tuple_exchange[1] # Get input, output and exchange classes. # Instantiation will be performed after arguments are verified. self.manager = PluginManager() self.PluginInput = self.manager.get_plugin(self.plugin_input) self.PluginOutput = self.manager.get_plugin(self.plugin_output) self.PluginExchange = self.manager.get_plugin(self.plugin_exchange)
def __init__(self, plugin_input, plugin_output, service_name, sock, max_conns): """input: input plugin name to load output: output plugin name to load service_name: service name which Portal interact with """ self.manager = PluginManager() self.input = self.manager.get_plugin(plugin_input)() self.output = self.manager.get_plugin(plugin_output)() self.service_name = service_name # self.portal_server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) #self.portal_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock_file = sock