gRPC Mission REST
gRPC Mission REST Communication Module
Note
Features: - gRPC server for mission reception and processing - gRPC client for status updates - Queue-based inter-service communication - Comprehensive logging system
- class grpc_mission_rest.MissionCommunicationService(*args: Any, **kwargs: Any)[source]
Bases:
MissionCommunicationServicergRPC service handler for mission operations.
- Parameters:
send_ros2_queue – Queue for ROS2-bound messages
receive_ros2_queue – Queue for ROS2-originated messages
send_db_queue – Queue for database operations
receive_db_queue – Queue for database responses
send_mqtt_queue – Queue for MQTT messages
send_rest_queue – Queue for REST updates
mission_logger – Configured logger instance
- __init__(send_ros2_queue: Queue, receive_ros2_queue: Queue, send_db_queue: Queue, receive_db_queue: Queue, send_mqtt_queue: Queue, send_rest_queue: Queue, mission_logger: Logger)[source]
- SendMission(request: Any, context: grpc.ServicerContext) GRPC.mission_pb2.MissionResponse[source]
Process incoming mission requests.
- Parameters:
request – gRPC request containing mission data
context – gRPC connection context
- Returns:
Mission response with confirmation ID
- Raises:
grpc.RpcError for critical processing failures
- grpc_mission_rest.run_client(send_rest_queue: Queue, mission_logger: Logger) None[source]
Continuous client for sending REST status updates.
- Parameters:
send_rest_queue – Queue containing status updates
mission_logger – Configured logger instance
- grpc_mission_rest.run_server(send_vehicle_queue: Queue, receive_vehicle_queue: Queue, send_db_queue: Queue, receive_db_queue: Queue, send_mqtt_queue: Queue, send_rest_queue: Queue, mission_logger: Logger) None[source]
gRPC server instance manager.
- Parameters:
send_vehicle_queue – Vehicle command queue
receive_vehicle_queue – Vehicle status queue
send_db_queue – Database operation queue
receive_db_queue – Database response queue
send_mqtt_queue – MQTT message queue
send_rest_queue – REST update queue
mission_logger – Configured logger instance
- grpc_mission_rest.start_grpc_mission_rest(send_vehicle_queue: Queue, receive_vehicle_queue: Queue, send_db_queue: Queue, receive_db_queue: Queue, send_mqtt_queue: Queue, send_rest_queue: Queue, mission_logger: Logger) Queue[source]
Initialize and start gRPC communication components.
- Parameters:
send_vehicle_queue – Vehicle command queue
receive_vehicle_queue – Vehicle status queue
send_db_queue – Database operation queue
receive_db_queue – Database response queue
send_mqtt_queue – MQTT message queue
send_rest_queue – REST update queue
mission_logger – Configured logger instance
- Returns:
Mission result queue