grpc/pygui: added grpc alert api, updated pygui to better handle and display alerts
This commit is contained in:
parent
e34002b851
commit
f8d862a296
7 changed files with 97 additions and 31 deletions
|
@ -445,6 +445,23 @@ class CoreGrpcClient:
|
|||
)
|
||||
return self.stub.AddSessionServer(request)
|
||||
|
||||
def alert(
|
||||
self,
|
||||
session_id: int,
|
||||
level: core_pb2.ExceptionLevel,
|
||||
source: str,
|
||||
text: str,
|
||||
node_id: int = None,
|
||||
) -> core_pb2.SessionAlertResponse:
|
||||
request = core_pb2.SessionAlertRequest(
|
||||
session_id=session_id,
|
||||
level=level,
|
||||
source=source,
|
||||
text=text,
|
||||
node_id=node_id,
|
||||
)
|
||||
return self.stub.SessionAlert(request)
|
||||
|
||||
def events(
|
||||
self,
|
||||
session_id: int,
|
||||
|
|
|
@ -109,7 +109,12 @@ from core.api.grpc.wlan_pb2 import (
|
|||
)
|
||||
from core.emulator.coreemu import CoreEmu
|
||||
from core.emulator.data import InterfaceData, LinkData, LinkOptions, NodeOptions
|
||||
from core.emulator.enumerations import EventTypes, LinkTypes, MessageFlags
|
||||
from core.emulator.enumerations import (
|
||||
EventTypes,
|
||||
ExceptionLevels,
|
||||
LinkTypes,
|
||||
MessageFlags,
|
||||
)
|
||||
from core.emulator.session import NT, Session
|
||||
from core.errors import CoreCommandError, CoreError
|
||||
from core.location.mobility import BasicRangeModel, Ns2ScriptedMobility
|
||||
|
@ -584,6 +589,15 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
session.distributed.add_server(request.name, request.host)
|
||||
return core_pb2.AddSessionServerResponse(result=True)
|
||||
|
||||
def SessionAlert(
|
||||
self, request: core_pb2.SessionAlertRequest, context: ServicerContext
|
||||
) -> core_pb2.SessionAlertResponse:
|
||||
session = self.get_session(request.session_id, context)
|
||||
level = ExceptionLevels(request.level)
|
||||
node_id = request.node_id if request.node_id else None
|
||||
session.exception(level, request.source, request.text, node_id)
|
||||
return core_pb2.SessionAlertResponse(result=True)
|
||||
|
||||
def Events(self, request: core_pb2.EventsRequest, context: ServicerContext) -> None:
|
||||
session = self.get_session(request.session_id, context)
|
||||
event_types = set(request.events)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue