remoteRF-server-testing 0.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. remoteRF_server/__init__.py +0 -0
  2. remoteRF_server/common/__init__.py +0 -0
  3. remoteRF_server/common/grpc/__init__.py +1 -0
  4. remoteRF_server/common/grpc/grpc_host_pb2.py +63 -0
  5. remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +97 -0
  6. remoteRF_server/common/grpc/grpc_pb2.py +59 -0
  7. remoteRF_server/common/grpc/grpc_pb2_grpc.py +97 -0
  8. remoteRF_server/common/idl/__init__.py +1 -0
  9. remoteRF_server/common/idl/device_schema.py +39 -0
  10. remoteRF_server/common/idl/pluto_schema.py +174 -0
  11. remoteRF_server/common/idl/schema.py +358 -0
  12. remoteRF_server/common/utils/__init__.py +6 -0
  13. remoteRF_server/common/utils/ansi_codes.py +120 -0
  14. remoteRF_server/common/utils/api_token.py +21 -0
  15. remoteRF_server/common/utils/db_connection.py +35 -0
  16. remoteRF_server/common/utils/db_location.py +24 -0
  17. remoteRF_server/common/utils/list_string.py +5 -0
  18. remoteRF_server/common/utils/process_arg.py +80 -0
  19. remoteRF_server/drivers/__init__.py +0 -0
  20. remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
  21. remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +105 -0
  22. remoteRF_server/host/__init__.py +0 -0
  23. remoteRF_server/host/host_auth_token.py +292 -0
  24. remoteRF_server/host/host_directory_store.py +142 -0
  25. remoteRF_server/host/host_tunnel_server.py +1388 -0
  26. remoteRF_server/server/__init__.py +0 -0
  27. remoteRF_server/server/acc_perms.py +317 -0
  28. remoteRF_server/server/cert_provider.py +184 -0
  29. remoteRF_server/server/device_manager.py +688 -0
  30. remoteRF_server/server/grpc_server.py +1023 -0
  31. remoteRF_server/server/reservation.py +811 -0
  32. remoteRF_server/server/rpc_manager.py +104 -0
  33. remoteRF_server/server/user_group_cli.py +723 -0
  34. remoteRF_server/server/user_group_handler.py +1120 -0
  35. remoteRF_server/serverrf_cli.py +1377 -0
  36. remoteRF_server/tools/__init__.py +191 -0
  37. remoteRF_server/tools/gen_certs.py +274 -0
  38. remoteRF_server/tools/gist_status.py +139 -0
  39. remoteRF_server/tools/gist_status_testing.py +67 -0
  40. remoterf_server_testing-0.0.0.dist-info/METADATA +612 -0
  41. remoterf_server_testing-0.0.0.dist-info/RECORD +44 -0
  42. remoterf_server_testing-0.0.0.dist-info/WHEEL +5 -0
  43. remoterf_server_testing-0.0.0.dist-info/entry_points.txt +2 -0
  44. remoterf_server_testing-0.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,104 @@
1
+ # from ..drivers.adalm_pluto.pluto_remote_server import PlutoServer
2
+ # from .reservation import reservation_handler
3
+ # from ..common.utils import *
4
+ # from .device_manager import acquire_device, VirtualDevice
5
+ # from ..host import host_tunnel_server as hts
6
+
7
+ # import sys
8
+
9
+ # class RpcManager:
10
+ # def __init__(self):
11
+ # self.debug = False
12
+
13
+ # def run_rpc(self, *, function_name, args) -> map:
14
+
15
+ # function_name_args = function_name.split(':')
16
+
17
+ # # print(f"RPC: {function_name}, ARGS: {args}")
18
+ # # try:
19
+ # if function_name_args[0] == "Pluto":
20
+ # if 'a' not in args:
21
+ # return {'a': map_arg('No token provided')}
22
+
23
+ # api_token = unmap_arg(args['a'])
24
+
25
+ # # Resolve once + serialize per-device I/O (local OR host)
26
+ # with acquire_device(api_token) as (gid, dev):
27
+ # # Build payload for the *next stage* (local driver OR host agent)
28
+ # fwd_args = dict(args)
29
+ # fwd_args.pop('a', None) # remove external API token
30
+ # fwd_args['g'] = map_arg(int(gid)) # or map_arg(str(gid)) if your map_arg expects str
31
+
32
+ # if isinstance(dev, VirtualDevice):
33
+ # # Host pipeline
34
+ # return hts.forward_request(
35
+ # host_id=dev.host_id,
36
+ # device_id=dev.device_id,
37
+ # function_name=function_name,
38
+ # args=fwd_args,
39
+ # )
40
+
41
+ # return {'a': map_arg('No token provided')}
42
+ # elif function_name_args[0] == "HackRF":
43
+ # pass
44
+ # elif function_name_args[0] == "ACC":
45
+ # return reservation_handler.handle_call(function_name=function_name_args[1], args=args)
46
+
47
+ # if function_name == "echo":
48
+ # return args
49
+
50
+ # def toggle_debug(self):
51
+ # self.debug = not self.debug
52
+
53
+ from ..drivers.adalm_pluto.pluto_remote_server import PlutoServer
54
+ from .reservation import reservation_handler
55
+ from ..common.utils import *
56
+ from .device_manager import acquire_device, VirtualDevice
57
+ from ..host import host_tunnel_server as hts
58
+
59
+ class RpcManager:
60
+ def __init__(self):
61
+ self.debug = False
62
+
63
+ def run_rpc(self, *, function_name, args) -> map:
64
+ fn_type = function_name.split(':', 1)[0]
65
+
66
+ # print(f"RPC: {function_name}, ARGS: {args}")
67
+
68
+ if fn_type == "Pluto":
69
+ if 'a' not in args:
70
+ return {'a': map_arg('No token provided')}
71
+
72
+ api_token = unmap_arg(args['a'])
73
+
74
+ try:
75
+ with acquire_device(api_token) as (gid, dev):
76
+
77
+ if isinstance(dev, VirtualDevice):
78
+ fwd_args = dict(args)
79
+ fwd_args.pop('a', None) # remove external API token
80
+ fwd_args['g'] = map_arg(int(gid)) # or map_arg(str(gid)) if your mapper wants strings
81
+
82
+ return hts.handle_host_device(
83
+ hts.get_tunnel_registry(create=False),
84
+ host_id=dev.host_id,
85
+ device_id=dev.device_id,
86
+ function_name=function_name,
87
+ args=fwd_args,
88
+ timeout_sec=10.0,
89
+ )
90
+
91
+ return PlutoServer.handle_call(function_name=function_name, args=args)
92
+
93
+ except Exception as e:
94
+ return {'a': map_arg(str(e))}
95
+
96
+ if fn_type == "ACC":
97
+ return reservation_handler.handle_call(function_name=function_name.split(':', 1)[1], args=args)
98
+
99
+ if function_name == "echo":
100
+ return args
101
+
102
+ return {'a': map_arg(f'Unknown RPC: {function_name}')}
103
+
104
+ rpc_manager = RpcManager()