summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/client/trex_stateless_client.py
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2015-09-21 18:55:15 +0300
committerimarom <imarom@cisco.com>2015-09-21 18:55:15 +0300
commit14006b519bfd679227a87d0e6a2be9726774aafc (patch)
tree88b8eed17c52d3460291248cfd807a19c592ea3b /scripts/automation/trex_control_plane/client/trex_stateless_client.py
parentd9e1cc14540431aa8baf8480625aa54c2a7c7175 (diff)
parentdbeb7ecc059bb78db54ec285a4216a661bbedd23 (diff)
Merge branch 'master' into rpc
Conflicts: scripts/automation/trex_control_plane/client_utils/jsonrpc_client.py
Diffstat (limited to 'scripts/automation/trex_control_plane/client/trex_stateless_client.py')
-rw-r--r--scripts/automation/trex_control_plane/client/trex_stateless_client.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/automation/trex_control_plane/client/trex_stateless_client.py b/scripts/automation/trex_control_plane/client/trex_stateless_client.py
new file mode 100644
index 00000000..5513f420
--- /dev/null
+++ b/scripts/automation/trex_control_plane/client/trex_stateless_client.py
@@ -0,0 +1,51 @@
+#!/router/bin/python
+
+try:
+ # support import for Python 2
+ import outer_packages
+except ImportError:
+ # support import for Python 3
+ import client.outer_packages
+from client_utils.jsonrpc_client import JsonRpcClient
+
+
+
+class CTRexStatelessClient(object):
+ """docstring for CTRexStatelessClient"""
+ def __init__(self, server="localhost", port=5050, virtual=False):
+ super(CTRexStatelessClient, self).__init__()
+ self.tx_link = CTRexStatelessClient.CTxLink(server, port, virtual)
+
+
+ def transmit(self, method_name, params = {}):
+ return self.tx_link.transmit(method_name, params)
+
+
+
+ class CTxLink(object):
+ """describes the connectivity of the stateless client method"""
+ def __init__(self, server="localhost", port=5050, virtual=False):
+ super(CTRexStatelessClient.CTxLink, self).__init__()
+ self.virtual = virtual
+ self.server = server
+ self.port = port
+ self.rpc_link = JsonRpcClient(self.server, self.port)
+ if not self.virtual:
+ self.rpc_link.connect()
+
+ def transmit(self, method_name, params = {}):
+ if self.virtual:
+ print "Transmitting virtually over tcp://{server}:{port}".format(
+ server=self.server,
+ port=self.port)
+ id, msg = self.rpc_link.create_jsonrpc_v2(method_name, params)
+ print msg
+ return
+ else:
+ return self.rpc_link.invoke_rpc_method(method_name, params)
+
+
+
+
+if __name__ == "__main__":
+ pass