removed rtype and param typing from doc strings to help avoid maintaining duplicate information provided by type hints

This commit is contained in:
Blake Harnden 2020-01-16 11:00:57 -08:00
parent 9d89877b20
commit f4ddf310a8
32 changed files with 1091 additions and 1357 deletions

View file

@ -23,8 +23,8 @@ class InterfaceHelper:
"""
Creates an InterfaceHelper object.
:param str ip4_prefix: ip4 prefix to use for generation
:param str ip6_prefix: ip6 prefix to use for generation
:param ip4_prefix: ip4 prefix to use for generation
:param ip6_prefix: ip6 prefix to use for generation
:raises ValueError: when both ip4 and ip6 prefixes have not been provided
"""
if not ip4_prefix and not ip6_prefix:
@ -41,9 +41,8 @@ class InterfaceHelper:
"""
Convenience method to return the IP4 address for a node.
:param int node_id: node id to get IP4 address for
:param node_id: node id to get IP4 address for
:return: IP4 address or None
:rtype: str
"""
if not self.ip4:
raise ValueError("ip4 prefixes have not been set")
@ -53,9 +52,8 @@ class InterfaceHelper:
"""
Convenience method to return the IP6 address for a node.
:param int node_id: node id to get IP6 address for
:param node_id: node id to get IP6 address for
:return: IP4 address or None
:rtype: str
"""
if not self.ip6:
raise ValueError("ip6 prefixes have not been set")
@ -68,13 +66,12 @@ class InterfaceHelper:
Creates interface data for linking nodes, using the nodes unique id for
generation, along with a random mac address, unless provided.
:param int node_id: node id to create interface for
:param int interface_id: interface id for interface
:param str name: name to set for interface, default is eth{id}
:param str mac: mac address to use for this interface, default is random
:param node_id: node id to create interface for
:param interface_id: interface id for interface
:param name: name to set for interface, default is eth{id}
:param mac: mac address to use for this interface, default is random
generation
:return: new interface data for the provided node
:rtype: core_pb2.Interface
"""
# generate ip4 data
ip4 = None
@ -145,7 +142,7 @@ class CoreGrpcClient:
"""
Creates a CoreGrpcClient instance.
:param str address: grpc server address to connect to
:param address: grpc server address to connect to
"""
self.address = address
self.stub = None
@ -170,20 +167,19 @@ class CoreGrpcClient:
"""
Start a session.
:param int session_id: id of session
:param list nodes: list of nodes to create
:param list links: list of links to create
:param core_pb2.SessionLocation location: location to set
:param list[core_pb2.Hook] hooks: session hooks to set
:param dict emane_config: emane configuration to set
:param list emane_model_configs: node emane model configurations
:param list wlan_configs: node wlan configurations
:param list mobility_configs: node mobility configurations
:param list service_configs: node service configurations
:param list service_file_configs: node service file configurations
:param list asymmetric_links: asymmetric links to edit
:param session_id: id of session
:param nodes: list of nodes to create
:param links: list of links to create
:param location: location to set
:param hooks: session hooks to set
:param emane_config: emane configuration to set
:param emane_model_configs: node emane model configurations
:param wlan_configs: node wlan configurations
:param mobility_configs: node mobility configurations
:param service_configs: node service configurations
:param service_file_configs: node service file configurations
:param asymmetric_links: asymmetric links to edit
:return: start session response
:rtype: core_pb2.StartSessionResponse
"""
request = core_pb2.StartSessionRequest(
session_id=session_id,
@ -205,9 +201,8 @@ class CoreGrpcClient:
"""
Stop a running session.
:param int session_id: id of session
:param session_id: id of session
:return: stop session response
:rtype: core_pb2.StopSessionResponse
"""
request = core_pb2.StopSessionRequest(session_id=session_id)
return self.stub.StopSession(request)
@ -216,10 +211,9 @@ class CoreGrpcClient:
"""
Create a session.
:param int session_id: id for session, default is None and one will be created
:param session_id: id for session, default is None and one will be created
for you
:return: response with created session id
:rtype: core_pb2.CreateSessionResponse
"""
request = core_pb2.CreateSessionRequest(session_id=session_id)
return self.stub.CreateSession(request)
@ -228,9 +222,8 @@ class CoreGrpcClient:
"""
Delete a session.
:param int session_id: id of session
:param session_id: id of session
:return: response with result of deletion success or failure
:rtype: core_pb2.DeleteSessionResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.DeleteSessionRequest(session_id=session_id)
@ -242,7 +235,6 @@ class CoreGrpcClient:
:return: response with a list of currently known session, their state and
number of nodes
:rtype: core_pb2.GetSessionsResponse
"""
return self.stub.GetSessions(core_pb2.GetSessionsRequest())
@ -250,9 +242,8 @@ class CoreGrpcClient:
"""
Retrieve a session.
:param int session_id: id of session
:param session_id: id of session
:return: response with sessions state, nodes, and links
:rtype: core_pb2.GetSessionResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetSessionRequest(session_id=session_id)
@ -264,9 +255,8 @@ class CoreGrpcClient:
"""
Retrieve session options as a dict with id mapping.
:param int session_id: id of session
:param session_id: id of session
:return: response with a list of configuration groups
:rtype: core_pb2.GetSessionOptionsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetSessionOptionsRequest(session_id=session_id)
@ -278,10 +268,9 @@ class CoreGrpcClient:
"""
Set options for a session.
:param int session_id: id of session
:param dict[str, str] config: configuration values to set
:param session_id: id of session
:param config: configuration values to set
:return: response with result of success or failure
:rtype: core_pb2.SetSessionOptionsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.SetSessionOptionsRequest(
@ -295,9 +284,8 @@ class CoreGrpcClient:
"""
Retrieve session metadata as a dict with id mapping.
:param int session_id: id of session
:param session_id: id of session
:return: response with metadata dict
:rtype: core_pb2.GetSessionMetadataResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetSessionMetadataRequest(session_id=session_id)
@ -309,10 +297,9 @@ class CoreGrpcClient:
"""
Set metadata for a session.
:param int session_id: id of session
:param dict[str, str] config: configuration values to set
:param session_id: id of session
:param config: configuration values to set
:return: response with result of success or failure
:rtype: core_pb2.SetSessionMetadataResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.SetSessionMetadataRequest(
@ -326,9 +313,8 @@ class CoreGrpcClient:
"""
Get session location.
:param int session_id: id of session
:param session_id: id of session
:return: response with session position reference and scale
:rtype: core_pb2.GetSessionLocationResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetSessionLocationRequest(session_id=session_id)
@ -348,16 +334,15 @@ class CoreGrpcClient:
"""
Set session location.
:param int session_id: id of session
:param float x: x position
:param float y: y position
:param float z: z position
:param float lat: latitude position
:param float lon: longitude position
:param float alt: altitude position
:param float scale: geo scale
:param session_id: id of session
:param x: x position
:param y: y position
:param z: z position
:param lat: latitude position
:param lon: longitude position
:param alt: altitude position
:param scale: geo scale
:return: response with result of success or failure
:rtype: core_pb2.SetSessionLocationResponse
:raises grpc.RpcError: when session doesn't exist
"""
location = core_pb2.SessionLocation(
@ -374,10 +359,9 @@ class CoreGrpcClient:
"""
Set session state.
:param int session_id: id of session
:param core_pb2.SessionState state: session state to transition to
:param session_id: id of session
:param state: session state to transition to
:return: response with result of success or failure
:rtype: core_pb2.SetSessionStateResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.SetSessionStateRequest(session_id=session_id, state=state)
@ -389,11 +373,10 @@ class CoreGrpcClient:
"""
Add distributed session server.
:param int session_id: id of session
:param str name: name of server to add
:param str host: host address to connect to
:param session_id: id of session
:param name: name of server to add
:param host: host address to connect to
:return: response with result of success or failure
:rtype: core_pb2.AddSessionServerResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.AddSessionServerRequest(
@ -410,9 +393,9 @@ class CoreGrpcClient:
"""
Listen for session events.
:param int session_id: id of session
:param session_id: id of session
:param handler: handler for received events
:param list events: events to listen to, defaults to all
:param events: events to listen to, defaults to all
:return: stream processing events, can be used to cancel stream
:raises grpc.RpcError: when session doesn't exist
"""
@ -428,7 +411,7 @@ class CoreGrpcClient:
"""
Listen for throughput events with information for interfaces and bridges.
:param int session_id: session id
:param session_id: session id
:param handler: handler for every event
:return: stream processing events, can be used to cancel stream
:raises grpc.RpcError: when session doesn't exist
@ -444,10 +427,9 @@ class CoreGrpcClient:
"""
Add node to session.
:param int session_id: session id
:param core_pb2.Node node: node to add
:param session_id: session id
:param node: node to add
:return: response with node id
:rtype: core_pb2.AddNodeResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.AddNodeRequest(session_id=session_id, node=node)
@ -457,10 +439,9 @@ class CoreGrpcClient:
"""
Get node details.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with node details
:rtype: core_pb2.GetNodeResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetNodeRequest(session_id=session_id, node_id=node_id)
@ -477,13 +458,12 @@ class CoreGrpcClient:
"""
Edit a node, currently only changes position.
:param int session_id: session id
:param int node_id: node id
:param core_pb2.Position position: position to set node to
:param str icon: path to icon for gui to use for node
:param str source: application source editing node
:param session_id: session id
:param node_id: node id
:param position: position to set node to
:param icon: path to icon for gui to use for node
:param source: application source editing node
:return: response with result of success or failure
:rtype: core_pb2.EditNodeResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.EditNodeRequest(
@ -499,10 +479,9 @@ class CoreGrpcClient:
"""
Delete node from session.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with result of success or failure
:rtype: core_pb2.DeleteNodeResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.DeleteNodeRequest(session_id=session_id, node_id=node_id)
@ -514,11 +493,10 @@ class CoreGrpcClient:
"""
Send command to a node and get the output.
:param int session_id: session id
:param int node_id: node id
:param str command: command to run on node
:param session_id: session id
:param node_id: node id
:param command: command to run on node
:return: response with command combined stdout/stderr
:rtype: core_pb2.NodeCommandResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.NodeCommandRequest(
@ -532,10 +510,9 @@ class CoreGrpcClient:
"""
Retrieve terminal command string for launching a local terminal.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with a node terminal command
:rtype: core_pb2.GetNodeTerminalResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetNodeTerminalRequest(
@ -549,10 +526,9 @@ class CoreGrpcClient:
"""
Get current links for a node.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with a list of links
:rtype: core_pb2.GetNodeLinksResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetNodeLinksRequest(session_id=session_id, node_id=node_id)
@ -570,14 +546,13 @@ class CoreGrpcClient:
"""
Add a link between nodes.
:param int session_id: session id
:param int node_one_id: node one id
:param int node_two_id: node two id
:param core_pb2.Interface interface_one: node one interface data
:param core_pb2.Interface interface_two: node two interface data
:param core_pb2.LinkOptions options: options for link (jitter, bandwidth, etc)
:param session_id: session id
:param node_one_id: node one id
:param node_two_id: node two id
:param interface_one: node one interface data
:param interface_two: node two interface data
:param options: options for link (jitter, bandwidth, etc)
:return: response with result of success or failure
:rtype: core_pb2.AddLinkResponse
:raises grpc.RpcError: when session or one of the nodes don't exist
"""
link = core_pb2.Link(
@ -603,14 +578,13 @@ class CoreGrpcClient:
"""
Edit a link between nodes.
:param int session_id: session id
:param int node_one_id: node one id
:param int node_two_id: node two id
:param core_pb2.LinkOptions options: options for link (jitter, bandwidth, etc)
:param int interface_one_id: node one interface id
:param int interface_two_id: node two interface id
:param session_id: session id
:param node_one_id: node one id
:param node_two_id: node two id
:param options: options for link (jitter, bandwidth, etc)
:param interface_one_id: node one interface id
:param interface_two_id: node two interface id
:return: response with result of success or failure
:rtype: core_pb2.EditLinkResponse
:raises grpc.RpcError: when session or one of the nodes don't exist
"""
request = core_pb2.EditLinkRequest(
@ -634,13 +608,12 @@ class CoreGrpcClient:
"""
Delete a link between nodes.
:param int session_id: session id
:param int node_one_id: node one id
:param int node_two_id: node two id
:param int interface_one_id: node one interface id
:param int interface_two_id: node two interface id
:param session_id: session id
:param node_one_id: node one id
:param node_two_id: node two id
:param interface_one_id: node one interface id
:param interface_two_id: node two interface id
:return: response with result of success or failure
:rtype: core_pb2.DeleteLinkResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.DeleteLinkRequest(
@ -656,9 +629,8 @@ class CoreGrpcClient:
"""
Get all hook scripts.
:param int session_id: session id
:param session_id: session id
:return: response with a list of hooks
:rtype: core_pb2.GetHooksResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetHooksRequest(session_id=session_id)
@ -674,12 +646,11 @@ class CoreGrpcClient:
"""
Add hook scripts.
:param int session_id: session id
:param core_pb2.SessionState state: state to trigger hook
:param str file_name: name of file for hook script
:param bytes file_data: hook script contents
:param session_id: session id
:param state: state to trigger hook
:param file_name: name of file for hook script
:param file_data: hook script contents
:return: response with result of success or failure
:rtype: core_pb2.AddHookResponse
:raises grpc.RpcError: when session doesn't exist
"""
hook = core_pb2.Hook(state=state, file=file_name, data=file_data)
@ -692,9 +663,8 @@ class CoreGrpcClient:
"""
Get all mobility configurations.
:param int session_id: session id
:param session_id: session id
:return: response with a dict of node ids to mobility configurations
:rtype: core_pb2.GetMobilityConfigsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetMobilityConfigsRequest(session_id=session_id)
@ -706,10 +676,9 @@ class CoreGrpcClient:
"""
Get mobility configuration for a node.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with a list of configuration groups
:rtype: core_pb2.GetMobilityConfigResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetMobilityConfigRequest(
@ -723,11 +692,10 @@ class CoreGrpcClient:
"""
Set mobility configuration for a node.
:param int session_id: session id
:param int node_id: node id
:param dict[str, str] config: mobility configuration
:param session_id: session id
:param node_id: node id
:param config: mobility configuration
:return: response with result of success or failure
:rtype: core_pb2.SetMobilityConfigResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
mobility_config = core_pb2.MobilityConfig(node_id=node_id, config=config)
@ -742,11 +710,10 @@ class CoreGrpcClient:
"""
Send a mobility action for a node.
:param int session_id: session id
:param int node_id: node id
:param core_pb2.ServiceAction action: action to take
:param session_id: session id
:param node_id: node id
:param action: action to take
:return: response with result of success or failure
:rtype: core_pb2.MobilityActionResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.MobilityActionRequest(
@ -759,7 +726,6 @@ class CoreGrpcClient:
Get all currently loaded services.
:return: response with a list of services
:rtype: core_pb2.GetServicesResponse
"""
request = core_pb2.GetServicesRequest()
return self.stub.GetServices(request)
@ -770,9 +736,8 @@ class CoreGrpcClient:
"""
Get default services for different default node models.
:param int session_id: session id
:param session_id: session id
:return: response with a dict of node model to a list of services
:rtype: core_pb2.GetServiceDefaultsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetServiceDefaultsRequest(session_id=session_id)
@ -784,10 +749,9 @@ class CoreGrpcClient:
"""
Set default services for node models.
:param int session_id: session id
:param dict service_defaults: node models to lists of services
:param session_id: session id
:param service_defaults: node models to lists of services
:return: response with result of success or failure
:rtype: core_pb2.SetServiceDefaultsResponse
:raises grpc.RpcError: when session doesn't exist
"""
defaults = []
@ -806,9 +770,8 @@ class CoreGrpcClient:
"""
Get service data for a node.
:param int session_id: session id
:param session_id: session id
:return: response with all node service configs
:rtype: core_pb2.GetNodeServiceConfigsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetNodeServiceConfigsRequest(session_id=session_id)
@ -820,11 +783,10 @@ class CoreGrpcClient:
"""
Get service data for a node.
:param int session_id: session id
:param int node_id: node id
:param str service: service name
:param session_id: session id
:param node_id: node id
:param service: service name
:return: response with node service data
:rtype: core_pb2.GetNodeServiceResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetNodeServiceRequest(
@ -838,12 +800,11 @@ class CoreGrpcClient:
"""
Get a service file for a node.
:param int session_id: session id
:param int node_id: node id
:param str service: service name
:param str file_name: file name to get data for
:param session_id: session id
:param node_id: node id
:param service: service name
:param file_name: file name to get data for
:return: response with file data
:rtype: core_pb2.GetNodeServiceFileResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.GetNodeServiceFileRequest(
@ -863,14 +824,13 @@ class CoreGrpcClient:
"""
Set service data for a node.
:param int session_id: session id
:param int node_id: node id
:param str service: service name
:param list startup: startup commands
:param list validate: validation commands
:param list shutdown: shutdown commands
:param session_id: session id
:param node_id: node id
:param service: service name
:param startup: startup commands
:param validate: validation commands
:param shutdown: shutdown commands
:return: response with result of success or failure
:rtype: core_pb2.SetNodeServiceResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
config = core_pb2.ServiceConfig(
@ -889,13 +849,12 @@ class CoreGrpcClient:
"""
Set a service file for a node.
:param int session_id: session id
:param int node_id: node id
:param str service: service name
:param str file_name: file name to save
:param bytes data: data to save for file
:param session_id: session id
:param node_id: node id
:param service: service name
:param file_name: file name to save
:param data: data to save for file
:return: response with result of success or failure
:rtype: core_pb2.SetNodeServiceFileResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
config = core_pb2.ServiceFileConfig(
@ -916,13 +875,12 @@ class CoreGrpcClient:
"""
Send an action to a service for a node.
:param int session_id: session id
:param int node_id: node id
:param str service: service name
:param core_pb2.ServiceAction action: action for service (start, stop, restart,
:param session_id: session id
:param node_id: node id
:param service: service name
:param action: action for service (start, stop, restart,
validate)
:return: response with result of success or failure
:rtype: core_pb2.ServiceActionResponse
:raises grpc.RpcError: when session or node doesn't exist
"""
request = core_pb2.ServiceActionRequest(
@ -934,9 +892,8 @@ class CoreGrpcClient:
"""
Get all wlan configurations.
:param int session_id: session id
:param session_id: session id
:return: response with a dict of node ids to wlan configurations
:rtype: core_pb2.GetWlanConfigsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetWlanConfigsRequest(session_id=session_id)
@ -948,10 +905,9 @@ class CoreGrpcClient:
"""
Get wlan configuration for a node.
:param int session_id: session id
:param int node_id: node id
:param session_id: session id
:param node_id: node id
:return: response with a list of configuration groups
:rtype: core_pb2.GetWlanConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetWlanConfigRequest(session_id=session_id, node_id=node_id)
@ -963,11 +919,10 @@ class CoreGrpcClient:
"""
Set wlan configuration for a node.
:param int session_id: session id
:param int node_id: node id
:param dict[str, str] config: wlan configuration
:param session_id: session id
:param node_id: node id
:param config: wlan configuration
:return: response with result of success or failure
:rtype: core_pb2.SetWlanConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
wlan_config = core_pb2.WlanConfig(node_id=node_id, config=config)
@ -980,9 +935,8 @@ class CoreGrpcClient:
"""
Get session emane configuration.
:param int session_id: session id
:param session_id: session id
:return: response with a list of configuration groups
:rtype: core_pb2.GetEmaneConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetEmaneConfigRequest(session_id=session_id)
@ -994,10 +948,9 @@ class CoreGrpcClient:
"""
Set session emane configuration.
:param int session_id: session id
:param dict[str, str] config: emane configuration
:param session_id: session id
:param config: emane configuration
:return: response with result of success or failure
:rtype: core_pb2.SetEmaneConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.SetEmaneConfigRequest(session_id=session_id, config=config)
@ -1007,9 +960,8 @@ class CoreGrpcClient:
"""
Get session emane models.
:param int session_id: session id
:param session_id: session id
:return: response with a list of emane models
:rtype: core_pb2.GetEmaneModelsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetEmaneModelsRequest(session_id=session_id)
@ -1021,12 +973,11 @@ class CoreGrpcClient:
"""
Get emane model configuration for a node or a node's interface.
:param int session_id: session id
:param int node_id: node id
:param str model: emane model name
:param int interface_id: node interface id
:param session_id: session id
:param node_id: node id
:param model: emane model name
:param interface_id: node interface id
:return: response with a list of configuration groups
:rtype: core_pb2.GetEmaneModelConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetEmaneModelConfigRequest(
@ -1045,13 +996,12 @@ class CoreGrpcClient:
"""
Set emane model configuration for a node or a node's interface.
:param int session_id: session id
:param int node_id: node id
:param str model: emane model name
:param dict[str, str] config: emane model configuration
:param int interface_id: node interface id
:param session_id: session id
:param node_id: node id
:param model: emane model name
:param config: emane model configuration
:param interface_id: node interface id
:return: response with result of success or failure
:rtype: core_pb2.SetEmaneModelConfigResponse
:raises grpc.RpcError: when session doesn't exist
"""
model_config = core_pb2.EmaneModelConfig(
@ -1068,9 +1018,8 @@ class CoreGrpcClient:
"""
Get all emane model configurations for a session.
:param int session_id: session id
:param session_id: session id
:return: response with a dictionary of node/interface ids to configurations
:rtype: core_pb2.GetEmaneModelConfigsResponse
:raises grpc.RpcError: when session doesn't exist
"""
request = core_pb2.GetEmaneModelConfigsRequest(session_id=session_id)
@ -1080,8 +1029,8 @@ class CoreGrpcClient:
"""
Save the current scenario to an XML file.
:param int session_id: session id
:param str file_path: local path to save scenario XML file to
:param session_id: session id
:param file_path: local path to save scenario XML file to
:return: nothing
"""
request = core_pb2.SaveXmlRequest(session_id=session_id)
@ -1093,10 +1042,9 @@ class CoreGrpcClient:
"""
Load a local scenario XML file to open as a new session.
:param str file_path: path of scenario XML file
:param bool start: True to start session, False otherwise
:param file_path: path of scenario XML file
:param start: True to start session, False otherwise
:return: response with opened session id
:rtype: core_pb2.OpenXmlResponse
"""
with open(file_path, "r") as xml_file:
data = xml_file.read()
@ -1109,10 +1057,10 @@ class CoreGrpcClient:
"""
Helps broadcast wireless link/unlink between EMANE nodes.
:param int session_id: session id
:param int nem_one:
:param int nem_two:
:param bool linked: True to link, False to unlink
:param session_id: session id
:param nem_one:
:param nem_two:
:param linked: True to link, False to unlink
:return: core_pb2.EmaneLinkResponse
"""
request = core_pb2.EmaneLinkRequest(

View file

@ -19,9 +19,8 @@ def handle_node_event(event: NodeData) -> core_pb2.NodeEvent:
"""
Handle node event when there is a node event
:param core.emulator.data.NodeData event: node data
:param event: node data
:return: node event that contains node id, name, model, position, and services
:rtype: core.api.grpc.core_pb2.NodeEvent
"""
position = core_pb2.Position(x=event.x_position, y=event.y_position)
services = event.services or ""
@ -40,9 +39,8 @@ def handle_link_event(event: LinkData) -> core_pb2.LinkEvent:
"""
Handle link event when there is a link event
:param core.emulator.data.LinkData event: link data
:param event: link data
:return: link event that has message type and link information
:rtype: core.api.grpc.core_pb2.LinkEvent
"""
interface_one = None
if event.interface1_id is not None:
@ -96,9 +94,8 @@ def handle_session_event(event: EventData) -> core_pb2.SessionEvent:
"""
Handle session event when there is a session event
:param core.emulator.data.EventData event: event data
:param event: event data
:return: session event
:rtype: core.api.grpc.core_pb2.SessionEvent
"""
event_time = event.time
if event_time is not None:
@ -116,9 +113,8 @@ def handle_config_event(event: ConfigData) -> core_pb2.ConfigEvent:
"""
Handle configuration event when there is configuration event
:param core.emulator.data.ConfigData event: configuration data
:param event: configuration data
:return: configuration event
:rtype: core.api.grpc.core_pb2.ConfigEvent
"""
return core_pb2.ConfigEvent(
message_type=event.message_type,
@ -141,9 +137,8 @@ def handle_exception_event(event: ExceptionData) -> core_pb2.ExceptionEvent:
"""
Handle exception event when there is exception event
:param core.emulator.data.ExceptionData event: exception data
:param event: exception data
:return: exception event
:rtype: core.api.grpc.core_pb2.ExceptionEvent
"""
return core_pb2.ExceptionEvent(
node_id=event.node,
@ -159,9 +154,8 @@ def handle_file_event(event: FileData) -> core_pb2.FileEvent:
"""
Handle file event
:param core.emulator.data.FileData event: file data
:param event: file data
:return: file event
:rtype: core.api.grpc.core_pb2.FileEvent
"""
return core_pb2.FileEvent(
message_type=event.message_type,
@ -187,8 +181,8 @@ class EventStreamer:
"""
Create a EventStreamer instance.
:param core.emulator.session.Session session: session to process events for
:param set event_types: types of events to process
:param session: session to process events for
:param event_types: types of events to process
"""
self.session = session
self.event_types = event_types
@ -219,7 +213,6 @@ class EventStreamer:
Process the next event in the queue.
:return: grpc event, or None when invalid event or queue timeout
:rtype: core.api.grpc.core_pb2.Event
"""
event = core_pb2.Event(session_id=self.session.id)
try:

View file

@ -19,9 +19,8 @@ def add_node_data(node_proto: core_pb2.Node) -> Tuple[NodeTypes, int, NodeOption
"""
Convert node protobuf message to data for creating a node.
:param core_pb2.Node node_proto: node proto message
:param node_proto: node proto message
:return: node type, id, and options
:rtype: tuple
"""
_id = node_proto.id
_type = node_proto.type
@ -49,9 +48,8 @@ def link_interface(interface_proto: core_pb2.Interface) -> InterfaceData:
"""
Create interface data from interface proto.
:param core_pb2.Interface interface_proto: interface proto
:param interface_proto: interface proto
:return: interface data
:rtype: InterfaceData
"""
interface = None
if interface_proto:
@ -79,9 +77,8 @@ def add_link_data(
"""
Convert link proto to link interfaces and options data.
:param core_pb2.Link link_proto: link proto
:param link_proto: link proto
:return: link interfaces and options
:rtype: tuple
"""
interface_one = link_interface(link_proto.interface_one)
interface_two = link_interface(link_proto.interface_two)
@ -115,10 +112,9 @@ def create_nodes(
"""
Create nodes using a thread pool and wait for completion.
:param core.emulator.session.Session session: session to create nodes in
:param list[core_pb2.Node] node_protos: node proto messages
:param session: session to create nodes in
:param node_protos: node proto messages
:return: results and exceptions for created nodes
:rtype: tuple
"""
funcs = []
for node_proto in node_protos:
@ -138,10 +134,9 @@ def create_links(
"""
Create links using a thread pool and wait for completion.
:param core.emulator.session.Session session: session to create nodes in
:param list[core_pb2.Link] link_protos: link proto messages
:param session: session to create nodes in
:param link_protos: link proto messages
:return: results and exceptions for created links
:rtype: tuple
"""
funcs = []
for link_proto in link_protos:
@ -163,10 +158,9 @@ def edit_links(
"""
Edit links using a thread pool and wait for completion.
:param core.emulator.session.Session session: session to create nodes in
:param list[core_pb2.Link] link_protos: link proto messages
:param session: session to create nodes in
:param link_protos: link proto messages
:return: results and exceptions for created links
:rtype: tuple
"""
funcs = []
for link_proto in link_protos:
@ -188,7 +182,6 @@ def convert_value(value: Any) -> str:
:param value: value
:return: string conversion of the value
:rtype: str
"""
if value is not None:
value = str(value)
@ -201,10 +194,9 @@ def get_config_options(
"""
Retrieve configuration options in a form that is used by the grpc server.
:param dict config: configuration
:param core.config.ConfigurableOptions configurable_options: configurable options
:param config: configuration
:param configurable_options: configurable options
:return: mapping of configuration ids to configuration options
:rtype: dict[str,core.api.grpc.core_pb2.ConfigOption]
"""
results = {}
for configuration in configurable_options.configurations():
@ -230,8 +222,8 @@ def get_links(session: Session, node: NodeBase):
"""
Retrieve a list of links for grpc to use
:param core.emulator.Session session: node's section
:param core.nodes.base.NodeBase node: node to get links from
:param session: node's section
:param node: node to get links from
:return: [core.api.grpc.core_pb2.Link]
"""
links = []
@ -245,10 +237,9 @@ def get_emane_model_id(node_id: int, interface_id: int) -> int:
"""
Get EMANE model id
:param int node_id: node id
:param int interface_id: interface id
:param node_id: node id
:param interface_id: interface id
:return: EMANE model id
:rtype: int
"""
if interface_id >= 0:
return node_id * 1000 + interface_id
@ -262,7 +253,6 @@ def parse_emane_model_id(_id: int) -> Tuple[int, int]:
:param _id: id to parse
:return: node id and interface id
:rtype: tuple
"""
interface = -1
node_id = _id
@ -276,10 +266,9 @@ def convert_link(session: Session, link_data: LinkData) -> core_pb2.Link:
"""
Convert link_data into core protobuf Link
:param core.emulator.session.Session session:
:param core.emulator.data.LinkData link_data:
:param session:
:param link_data:
:return: core protobuf Link
:rtype: core.api.grpc.core_pb2.Link
"""
interface_one = None
if link_data.interface1_id is not None:
@ -344,7 +333,6 @@ def get_net_stats() -> Dict[str, Dict]:
Retrieve status about the current interfaces in the system
:return: send and receive status of the interfaces in the system
:rtype: dict
"""
with open("/proc/net/dev", "r") as f:
data = f.readlines()[2:]
@ -365,8 +353,8 @@ def session_location(session: Session, location: core_pb2.SessionLocation) -> No
"""
Set session location based on location proto.
:param core.emulator.session.Session session: session for location
:param core_pb2.SessionLocation location: location to set
:param session: session for location
:param location: location to set
:return: nothing
"""
session.location.refxyz = (location.x, location.y, location.z)
@ -378,8 +366,8 @@ def service_configuration(session: Session, config: core_pb2.ServiceConfig) -> N
"""
Convenience method for setting a node service configuration.
:param core.emulator.session.Session session: session for service configuration
:param core_pb2.ServiceConfig config: service configuration
:param session: session for service configuration
:param config: service configuration
:return:
"""
session.services.set_service(config.node_id, config.service)
@ -395,7 +383,6 @@ def get_service_configuration(service: Type[CoreService]) -> core_pb2.NodeServic
:param service: service to get proto data for
:return: service proto data
:rtype: core.api.grpc.core_pb2.NodeServiceData
"""
return core_pb2.NodeServiceData(
executables=service.executables,

View file

@ -38,7 +38,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Create CoreGrpcServer instance
:param core.emulator.coreemu.CoreEmu coreemu: coreemu object
:param coreemu: coreemu object
"""
def __init__(self, coreemu: CoreEmu) -> None:
@ -75,11 +75,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve session given the session id
:param int session_id: session id
:param grpc.ServicerContext context:
:param session_id: session id
:param context:
:return: session object that satisfies, if session not found then raise an
exception
:rtype: core.emulator.session.Session
"""
session = self.coreemu.sessions.get(session_id)
if not session:
@ -92,11 +91,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve node given session and node id
:param core.emulator.session.Session session: session that has the node
:param int node_id: node id
:param grpc.ServicerContext context:
:param session: session that has the node
:param node_id: node id
:param context:
:return: node object that satisfies. If node not found then raise an exception.
:rtype: core.nodes.base.CoreNode
"""
try:
return session.get_node(node_id)
@ -109,10 +107,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Start a session.
:param core.api.grpc.core_pb2.StartSessionRequest request: start session request
:param request: start session request
:param context: grcp context
:return: start session response
:rtype: core.api.grpc.core_pb2.StartSessionResponse
"""
logging.debug("start session: %s", request)
session = self.get_session(request.session_id, context)
@ -198,10 +195,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Stop a running session.
:param core.api.grpc.core_pb2.StopSessionRequest request: stop session request
:param request: stop session request
:param context: grcp context
:return: stop session response
:rtype: core.api.grpc.core_pb2.StopSessionResponse
"""
logging.debug("stop session: %s", request)
session = self.get_session(request.session_id, context)
@ -217,10 +213,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Create a session
:param core.api.grpc.core_pb2.CreateSessionRequest request: create-session request
:param grpc.ServicerContext context:
:param request: create-session request
:param context:
:return: a create-session response
:rtype: core.api.grpc.core_pb2.CreateSessionResponse
"""
logging.debug("create session: %s", request)
session = self.coreemu.create_session(request.session_id)
@ -237,10 +232,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Delete the session
:param core.api.grpc.core_pb2.DeleteSessionRequest request: delete-session request
:param grpc.ServicerContext context: context object
:param request: delete-session request
:param context: context object
:return: a delete-session response
:rtype: core.api.grpc.core_pb2.DeleteSessionResponse
"""
logging.debug("delete session: %s", request)
result = self.coreemu.delete_session(request.session_id)
@ -252,10 +246,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Delete the session
:param core.api.grpc.core_pb2.GetSessionRequest request: get-session request
:param grpc.ServicerContext context: context object
:param request: get-session request
:param context: context object
:return: a delete-session response
:rtype: core.api.grpc.core_pb2.DeleteSessionResponse
"""
logging.debug("get sessions: %s", request)
sessions = []
@ -276,10 +269,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve a requested session location
:param core.api.grpc.core_pb2.GetSessionLocationRequest request: get-session-location request
:param grpc.ServicerContext context: context object
:param request: get-session-location request
:param context: context object
:return: a get-session-location response
:rtype: core.api.grpc.core_pb2.GetSessionLocationResponse
"""
logging.debug("get session location: %s", request)
session = self.get_session(request.session_id, context)
@ -297,10 +289,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set session location
:param core.api.grpc.core_pb2.SetSessionLocationRequest request: set-session-location request
:param grpc.ServicerContext context: context object
:param request: set-session-location request
:param context: context object
:return: a set-session-location-response
:rtype: core.api.grpc.core_pb2.SetSessionLocationResponse
"""
logging.debug("set session location: %s", request)
session = self.get_session(request.session_id, context)
@ -313,10 +304,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set session state
:param core.api.grpc.core_pb2.SetSessionStateRequest request: set-session-state request
:param grpc.ServicerContext context:context object
:param request: set-session-state request
:param context:context object
:return: set-session-state response
:rtype: core.api.grpc.core_pb2.SetSessionStateResponse
"""
logging.debug("set session state: %s", request)
session = self.get_session(request.session_id, context)
@ -348,11 +338,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve session options.
:param core.api.grpc.core_pb2.GetSessionOptions request:
:param request:
get-session-options request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-session-options response about all session's options
:rtype: core.api.grpc.core_pb2.GetSessionOptions
"""
logging.debug("get session options: %s", request)
session = self.get_session(request.session_id, context)
@ -368,10 +357,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Update a session's configuration
:param core.api.grpc.core_pb2.SetSessionOptions request: set-session-options request
:param grpc.ServicerContext context: context object
:param request: set-session-options request
:param context: context object
:return: set-session-options response
:rtype: core.api.grpc.core_pb2.SetSessionOptionsResponse
"""
logging.debug("set session options: %s", request)
session = self.get_session(request.session_id, context)
@ -385,11 +373,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve session metadata.
:param core.api.grpc.core_pb2.GetSessionMetadata request: get session metadata
:param request: get session metadata
request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get session metadata response
:rtype: core.api.grpc.core_pb2.GetSessionMetadata
"""
logging.debug("get session metadata: %s", request)
session = self.get_session(request.session_id, context)
@ -401,10 +388,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Update a session's metadata.
:param core.api.grpc.core_pb2.SetSessionMetadata request: set metadata request
:param grpc.ServicerContext context: context object
:param request: set metadata request
:param context: context object
:return: set metadata response
:rtype: core.api.grpc.core_pb2.SetSessionMetadataResponse
"""
logging.debug("set session metadata: %s", request)
session = self.get_session(request.session_id, context)
@ -417,10 +403,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve requested session
:param core.api.grpc.core_pb2.GetSessionRequest request: get-session request
:param grpc.ServicerContext context: context object
:param request: get-session request
:param context: context object
:return: get-session response
:rtype: core.api.grpc.core_bp2.GetSessionResponse
"""
logging.debug("get session: %s", request)
session = self.get_session(request.session_id, context)
@ -473,11 +458,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Add distributed server to a session.
:param core.api.grpc.core_pb2.AddSessionServerRequest request: get-session
:param request: get-session
request
:param grpc.ServicerContext context: context object
:param context: context object
:return: add session server response
:rtype: core.api.grpc.core_bp2.AddSessionServerResponse
"""
session = self.get_session(request.session_id, context)
session.distributed.add_server(request.name, request.host)
@ -504,8 +488,8 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Calculate average throughput after every certain amount of delay time
:param core.api.grpc.core_pb2.ThroughputsRequest request: throughputs request
:param grpc.SrevicerContext context: context object
:param request: throughputs request
:param context: context object
:return: nothing
"""
session = self.get_session(request.session_id, context)
@ -574,10 +558,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Add node to requested session
:param core.api.grpc.core_pb2.AddNodeRequest request: add-node request
:param grpc.ServicerContext context: context object
:param request: add-node request
:param context: context object
:return: add-node response
:rtype: core.api.grpc.core_pb2.AddNodeResponse
"""
logging.debug("add node: %s", request)
session = self.get_session(request.session_id, context)
@ -591,10 +574,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve node
:param core.api.grpc.core_pb2.GetNodeRequest request: get-node request
:param grpc.ServicerContext context: context object
:param request: get-node request
:param context: context object
:return: get-node response
:rtype: core.api.grpc.core_pb2.GetNodeResponse
"""
logging.debug("get node: %s", request)
session = self.get_session(request.session_id, context)
@ -648,10 +630,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Edit node
:param core.api.grpc.core_bp2.EditNodeRequest request: edit-node request
:param grpc.ServicerContext context: context object
:param request: edit-node request
:param context: context object
:return: edit-node response
:rtype: core.api.grpc.core_pb2.EditNodeResponse
"""
logging.debug("edit node: %s", request)
session = self.get_session(request.session_id, context)
@ -683,8 +664,8 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Delete node
:param core.api.grpc.core_pb2.DeleteNodeRequest request: delete-node request
:param grpc.ServicerContext context: context object
:param request: delete-node request
:param context: context object
:return: core.api.grpc.core_pb2.DeleteNodeResponse
"""
logging.debug("delete node: %s", request)
@ -698,8 +679,8 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Run command on a node
:param core.api.grpc.core_pb2.NodeCommandRequest request: node-command request
:param grpc.ServicerContext context: context object
:param request: node-command request
:param context: context object
:return: core.api.grpc.core_pb2.NodeCommandResponse
"""
logging.debug("sending node command: %s", request)
@ -717,10 +698,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve terminal command string of a node
:param core.api.grpc.core_pb2.GetNodeTerminalRequest request: get-node-terminal request
:param grpc.ServicerContext context: context object
:param request: get-node-terminal request
:param context: context object
:return: get-node-terminal response
:rtype: core.api.grpc.core_bp2.GetNodeTerminalResponse
"""
logging.debug("getting node terminal: %s", request)
session = self.get_session(request.session_id, context)
@ -734,10 +714,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all links form a requested node
:param core.api.grpc.core_pb2.GetNodeLinksRequest request: get-node-links request
:param grpc.ServicerContext context: context object
:param request: get-node-links request
:param context: context object
:return: get-node-links response
:rtype: core.api.grpc.core_pb2.GetNodeLinksResponse
"""
logging.debug("get node links: %s", request)
session = self.get_session(request.session_id, context)
@ -751,10 +730,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Add link to a session
:param core.api.grpc.core_pb2.AddLinkRequest request: add-link request
:param grpc.ServicerContext context: context object
:param request: add-link request
:param context: context object
:return: add-link response
:rtype: core.api.grpc.AddLinkResponse
"""
logging.debug("add link: %s", request)
# validate session and nodes
@ -776,10 +754,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Edit a link
:param core.api.grpc.core_pb2.EditLinkRequest request: edit-link request
:param grpc.ServicerContext context: context object
:param request: edit-link request
:param context: context object
:return: edit-link response
:rtype: core.api.grpc.core_pb2.EditLinkResponse
"""
logging.debug("edit link: %s", request)
session = self.get_session(request.session_id, context)
@ -811,10 +788,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Delete a link
:param core.api.grpc.core_pb2.DeleteLinkRequest request: delete-link request
:param grpc.ServicerContext context: context object
:param request: delete-link request
:param context: context object
:return: delete-link response
:rtype: core.api.grpc.core_pb2.DeleteLinkResponse
"""
logging.debug("delete link: %s", request)
session = self.get_session(request.session_id, context)
@ -833,10 +809,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all hooks from a session
:param core.api.grpc.core_pb2.GetHooksRequest request: get-hook request
:param grpc.ServicerContext context: context object
:param request: get-hook request
:param context: context object
:return: get-hooks response about all the hooks in all session states
:rtype: core.api.grpc.core_pb2.GetHooksResponse
"""
logging.debug("get hooks: %s", request)
session = self.get_session(request.session_id, context)
@ -854,10 +829,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Add hook to a session
:param core.api.grpc.core_pb2.AddHookRequest request: add-hook request
:param grpc.ServicerContext context: context object
:param request: add-hook request
:param context: context object
:return: add-hook response
:rtype: core.api.grpc.core_pb2.AddHookResponse
"""
logging.debug("add hook: %s", request)
session = self.get_session(request.session_id, context)
@ -871,11 +845,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all mobility configurations from a session
:param core.api.grpc.core_pb2.GetMobilityConfigsRequest request:
:param request:
get-mobility-configurations request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-mobility-configurations response that has a list of configurations
:rtype: core.api.grpc.core_pb2.GetMobilityConfigsResponse
"""
logging.debug("get mobility configs: %s", request)
session = self.get_session(request.session_id, context)
@ -899,11 +872,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve mobility configuration of a node
:param core.api.grpc.core_pb2.GetMobilityConfigRequest request:
:param request:
get-mobility-configuration request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-mobility-configuration response
:rtype: core.api.grpc.core_pb2.GetMobilityConfigResponse
"""
logging.debug("get mobility config: %s", request)
session = self.get_session(request.session_id, context)
@ -919,11 +891,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set mobility configuration of a node
:param core.api.grpc.core_pb2.SetMobilityConfigRequest request:
:param request:
set-mobility-configuration request
:param grpc.ServicerContext context: context object
:param context: context object
:return: set-mobility-configuration response
"rtype" core.api.grpc.SetMobilityConfigResponse
"""
logging.debug("set mobility config: %s", request)
session = self.get_session(request.session_id, context)
@ -939,11 +910,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Take mobility action whether to start, pause, stop or none of those
:param core.api.grpc.core_pb2.MobilityActionRequest request: mobility-action
:param request: mobility-action
request
:param grpc.ServicerContext context: context object
:param context: context object
:return: mobility-action response
:rtype: core.api.grpc.core_pb2.MobilityActionResponse
"""
logging.debug("mobility action: %s", request)
session = self.get_session(request.session_id, context)
@ -965,10 +935,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all the services that are running
:param core.api.grpc.core_pb2.GetServicesRequest request: get-service request
:param grpc.ServicerContext context: context object
:param request: get-service request
:param context: context object
:return: get-services response
:rtype: core.api.grpc.core_pb2.GetServicesResponse
"""
logging.debug("get services: %s", request)
services = []
@ -984,11 +953,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all the default services of all node types in a session
:param core.api.grpc.core_pb2.GetServiceDefaultsRequest request:
:param request:
get-default-service request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-service-defaults response about all the available default services
:rtype: core.api.grpc.core_pb2.GetServiceDefaultsResponse
"""
logging.debug("get service defaults: %s", request)
session = self.get_session(request.session_id, context)
@ -1006,11 +974,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
) -> core_pb2.SetServiceDefaultsResponse:
"""
Set new default services to the session after whipping out the old ones
:param core.api.grpc.core_pb2.SetServiceDefaults request: set-service-defaults
:param request: set-service-defaults
request
:param grpc.ServicerContext context: context object
:param context: context object
:return: set-service-defaults response
:rtype: core.api.grpc.core_pb2 SetServiceDefaultsResponse
"""
logging.debug("set service defaults: %s", request)
session = self.get_session(request.session_id, context)
@ -1027,11 +994,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all node service configurations.
:param core.api.grpc.core_pb2.GetNodeServiceConfigsRequest request:
:param request:
get-node-service request
:param grpc.ServicerContext context: context object
:param context: context object
:return: all node service configs response
:rtype: core.api.grpc.core_pb2.GetNodeServiceConfigsResponse
"""
logging.debug("get node service configs: %s", request)
session = self.get_session(request.session_id, context)
@ -1055,11 +1021,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve a requested service from a node
:param core.api.grpc.core_pb2.GetNodeServiceRequest request: get-node-service
:param request: get-node-service
request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-node-service response about the requested service
:rtype: core.api.grpc.core_pb2.GetNodeServiceResponse
"""
logging.debug("get node service: %s", request)
session = self.get_session(request.session_id, context)
@ -1075,11 +1040,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve a requested service file from a node
:param core.api.grpc.core_pb2.GetNodeServiceFileRequest request:
:param request:
get-node-service request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-node-service response about the requested service
:rtype: core.api.grpc.core_pb2.GetNodeServiceFileResponse
"""
logging.debug("get node service file: %s", request)
session = self.get_session(request.session_id, context)
@ -1095,11 +1059,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set a node service for a node
:param core.api.grpc.core_pb2.SetNodeServiceRequest request: set-node-service
:param request: set-node-service
request that has info to set a node service
:param grpc.ServicerContext context: context object
:param context: context object
:return: set-node-service response
:rtype: core.api.grpc.core_pb2.SetNodeServiceResponse
"""
logging.debug("set node service: %s", request)
session = self.get_session(request.session_id, context)
@ -1113,11 +1076,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Store the customized service file in the service config
:param core.api.grpc.core_pb2.SetNodeServiceFileRequest request:
:param request:
set-node-service-file request
:param grpc.ServicerContext context: context object
:param context: context object
:return: set-node-service-file response
:rtype: core.api.grpc.core_pb2.SetNodeServiceFileResponse
"""
logging.debug("set node service file: %s", request)
session = self.get_session(request.session_id, context)
@ -1134,10 +1096,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
Take action whether to start, stop, restart, validate the service or none of
the above.
:param core.api.grpc.core_pb2.ServiceActionRequest request: service-action request
:param grpcServicerContext context: context object
:param request: service-action request
:param context: context object
:return: service-action response about status of action
:rtype: core.api.grpc.core_pb2.ServiceActionResponse
"""
logging.debug("service action: %s", request)
session = self.get_session(request.session_id, context)
@ -1175,10 +1136,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all wireless-lan configurations.
:param core.api.grpc.core_pb2.GetWlanConfigsRequest request: request
:param request: request
:param context: core.api.grpc.core_pb2.GetWlanConfigResponse
:return: all wlan configurations
:rtype: core.api.grpc.core_pb2.GetWlanConfigsResponse
"""
logging.debug("get wlan configs: %s", request)
session = self.get_session(request.session_id, context)
@ -1202,10 +1162,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve wireless-lan configuration of a node
:param core.api.grpc.core_pb2.GetWlanConfigRequest request: get-wlan-configuration request
:param request: get-wlan-configuration request
:param context: core.api.grpc.core_pb2.GetWlanConfigResponse
:return: get-wlan-configuration response about the wlan configuration of a node
:rtype: core.api.grpc.core_pb2.GetWlanConfigResponse
"""
logging.debug("get wlan config: %s", request)
session = self.get_session(request.session_id, context)
@ -1221,10 +1180,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set configuration data for a model
:param core.api.grpc.core_pb2.SetWlanConfigRequest request: set-wlan-configuration request
:param grpc.ServicerContext context: context object
:param request: set-wlan-configuration request
:param context: context object
:return: set-wlan-configuration response
:rtype: core.api.grpc.core_pb2.SetWlanConfigResponse
"""
logging.debug("set wlan config: %s", request)
session = self.get_session(request.session_id, context)
@ -1243,10 +1201,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve EMANE configuration of a session
:param core.api.grpc.core_pb2.GetEmanConfigRequest request: get-EMANE-configuration request
:param grpc.ServicerContext context: context object
:param request: get-EMANE-configuration request
:param context: context object
:return: get-EMANE-configuration response
:rtype: core.api.grpc.core_pb2.GetEmaneConfigResponse
"""
logging.debug("get emane config: %s", request)
session = self.get_session(request.session_id, context)
@ -1260,10 +1217,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set EMANE configuration of a session
:param core.api.grpc.core_pb2.SetEmaneConfigRequest request: set-EMANE-configuration request
:param grpc.ServicerContext context: context object
:param request: set-EMANE-configuration request
:param context: context object
:return: set-EMANE-configuration response
:rtype: core.api.grpc.core_pb2.SetEmaneConfigResponse
"""
logging.debug("set emane config: %s", request)
session = self.get_session(request.session_id, context)
@ -1277,10 +1233,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all the EMANE models in the session
:param core.api.grpc.core_pb2.GetEmaneModelRequest request: get-emane-model request
:param grpc.ServicerContext context: context object
:param request: get-emane-model request
:param context: context object
:return: get-EMANE-models response that has all the models
:rtype: core.api.grpc.core_pb2.GetEmaneModelsResponse
"""
logging.debug("get emane models: %s", request)
session = self.get_session(request.session_id, context)
@ -1297,11 +1252,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve EMANE model configuration of a node
:param core.api.grpc.core_pb2.GetEmaneModelConfigRequest request:
:param request:
get-EMANE-model-configuration request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-EMANE-model-configuration response
:rtype: core.api.grpc.core_pb2.GetEmaneModelConfigResponse
"""
logging.debug("get emane model config: %s", request)
session = self.get_session(request.session_id, context)
@ -1317,11 +1271,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Set EMANE model configuration of a node
:param core.api.grpc.core_pb2.SetEmaneModelConfigRequest request:
:param request:
set-EMANE-model-configuration request
:param grpc.ServicerContext context: context object
:param context: context object
:return: set-EMANE-model-configuration response
:rtype: core.api.grpc.core_pb2.SetEmaneModelConfigResponse
"""
logging.debug("set emane model config: %s", request)
session = self.get_session(request.session_id, context)
@ -1336,12 +1289,11 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all EMANE model configurations of a session
:param core.api.grpc.core_pb2.GetEmaneModelConfigsRequest request:
:param request:
get-EMANE-model-configurations request
:param grpc.ServicerContext context: context object
:param context: context object
:return: get-EMANE-model-configurations response that has all the EMANE
configurations
:rtype: core.api.grpc.core_pb2.GetEmaneModelConfigsResponse
"""
logging.debug("get emane model configs: %s", request)
session = self.get_session(request.session_id, context)
@ -1372,10 +1324,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Export the session nto the EmulationScript XML format
:param core.api.grpc.core_pb2.SaveXmlRequest request: save xml request
:param grpc SrvicerContext context: context object
:param request: save xml request
:param context: context object
:return: save-xml response
:rtype: core.api.grpc.core_pb2.SaveXmlResponse
"""
logging.debug("save xml: %s", request)
session = self.get_session(request.session_id, context)
@ -1394,10 +1345,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Import a session from the EmulationScript XML format
:param core.api.grpc.OpenXmlRequest request: open-xml request
:param grpc.ServicerContext context: context object
:param request: open-xml request
:param context: context object
:return: Open-XML response or raise an exception if invalid XML file
:rtype: core.api.grpc.core_pb2.OpenXMLResponse
"""
logging.debug("open xml: %s", request)
session = self.coreemu.create_session()
@ -1424,10 +1374,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Retrieve all the interfaces of the system including bridges, virtual ethernet, and loopback
:param core.api.grpc.core_pb2.GetInterfacesRequest request: get-interfaces request
:param grpc.ServicerContext context: context object
:param request: get-interfaces request
:param context: context object
:return: get-interfaces response that has all the system's interfaces
:rtype: core.api.grpc.core_pb2.GetInterfacesResponse
"""
interfaces = []
for interface in os.listdir("/sys/class/net"):
@ -1446,10 +1395,9 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
"""
Helps broadcast wireless link/unlink between EMANE nodes.
:param core.api.grpc.core_pb2.EmaneLinkRequest request: get-interfaces request
:param grpc.ServicerContext context: context object
:param request: get-interfaces request
:param context: context object
:return: emane link response with success status
:rtype: core.api.grpc.core_pb2.EmaneLinkResponse
"""
logging.debug("emane link: %s", request)
session = self.get_session(request.session_id, context)