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.
- remoteRF_server/__init__.py +0 -0
- remoteRF_server/common/__init__.py +0 -0
- remoteRF_server/common/grpc/__init__.py +1 -0
- remoteRF_server/common/grpc/grpc_host_pb2.py +63 -0
- remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +97 -0
- remoteRF_server/common/grpc/grpc_pb2.py +59 -0
- remoteRF_server/common/grpc/grpc_pb2_grpc.py +97 -0
- remoteRF_server/common/idl/__init__.py +1 -0
- remoteRF_server/common/idl/device_schema.py +39 -0
- remoteRF_server/common/idl/pluto_schema.py +174 -0
- remoteRF_server/common/idl/schema.py +358 -0
- remoteRF_server/common/utils/__init__.py +6 -0
- remoteRF_server/common/utils/ansi_codes.py +120 -0
- remoteRF_server/common/utils/api_token.py +21 -0
- remoteRF_server/common/utils/db_connection.py +35 -0
- remoteRF_server/common/utils/db_location.py +24 -0
- remoteRF_server/common/utils/list_string.py +5 -0
- remoteRF_server/common/utils/process_arg.py +80 -0
- remoteRF_server/drivers/__init__.py +0 -0
- remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
- remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +105 -0
- remoteRF_server/host/__init__.py +0 -0
- remoteRF_server/host/host_auth_token.py +292 -0
- remoteRF_server/host/host_directory_store.py +142 -0
- remoteRF_server/host/host_tunnel_server.py +1388 -0
- remoteRF_server/server/__init__.py +0 -0
- remoteRF_server/server/acc_perms.py +317 -0
- remoteRF_server/server/cert_provider.py +184 -0
- remoteRF_server/server/device_manager.py +688 -0
- remoteRF_server/server/grpc_server.py +1023 -0
- remoteRF_server/server/reservation.py +811 -0
- remoteRF_server/server/rpc_manager.py +104 -0
- remoteRF_server/server/user_group_cli.py +723 -0
- remoteRF_server/server/user_group_handler.py +1120 -0
- remoteRF_server/serverrf_cli.py +1377 -0
- remoteRF_server/tools/__init__.py +191 -0
- remoteRF_server/tools/gen_certs.py +274 -0
- remoteRF_server/tools/gist_status.py +139 -0
- remoteRF_server/tools/gist_status_testing.py +67 -0
- remoterf_server_testing-0.0.0.dist-info/METADATA +612 -0
- remoterf_server_testing-0.0.0.dist-info/RECORD +44 -0
- remoterf_server_testing-0.0.0.dist-info/WHEEL +5 -0
- remoterf_server_testing-0.0.0.dist-info/entry_points.txt +2 -0
- 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()
|