gRPC Mission Vehicle

gRPC Mission Vehicle Communication Module

Note

Features: - Bidirectional communication with ROS2 systems - Thread-safe queue-based message handling - Graceful connection management - Comprehensive logging system

class grpc_mission_vehicle.ResultCommunicationService(*args: Any, **kwargs: Any)[source]

Bases: ResultCommunicationServicer

gRPC service handler for vehicle result collection from ROS2.

Parameters:
  • receive_vehicle_queue – Queue for storing incoming vehicle results

  • mission_logger – Configured logger instance

__init__(receive_vehicle_queue, mission_logger)[source]
SendResult(request, context)[source]

Process incoming vehicle results from ROS2.

Parameters:
  • request – gRPC request containing drone result data

  • context – gRPC connection context

Returns:

Confirmation response

grpc_mission_vehicle.run_client(send_vehicle_queue, mission_logger)[source]

Continuous client for sending vehicle plans to ROS2.

Parameters:
  • send_vehicle_queue – Queue containing outgoing vehicle plans

  • mission_logger – Configured logger instance

grpc_mission_vehicle.run_server(receive_vehicle_queue, mission_logger)[source]

gRPC server instance for result collection.

Parameters:
  • receive_vehicle_queue – Queue for incoming vehicle results

  • mission_logger – Configured logger instance

grpc_mission_vehicle.start_grpc_mission_vehicle(send_vehicle_queue, receive_vehicle_queue, mission_logger)[source]

Initialize and start gRPC communication components.

Parameters:
  • send_vehicle_queue – Outgoing vehicle plan queue

  • receive_vehicle_queue – Incoming result queue

  • mission_logger – Configured logger instance

grpc_mission_vehicle.create_logger(logger_name, log_file)[source]

Configure and return a concurrent-safe logger instance.

Parameters:
  • logger_name – Name for the logger instance

  • log_file – Path to log file

Returns:

Configured logger instance