48 std::vector<out_message_t>
process(
49 std::shared_ptr<irsol::server::ClientSession>
session,
61 std::shared_ptr<irsol::server::ClientSession>
session)
const;
72 virtual std::vector<irsol::protocol::OutMessage>
validate(
74 std::shared_ptr<irsol::server::ClientSession>
session)
const = 0;
88 std::shared_ptr<irsol::server::ClientSession>
session)
const = 0;
101 std::shared_ptr<irsol::server::ClientSession>
session)
const = 0;
112 std::shared_ptr<irsol::server::ClientSession>
session,
113 std::shared_ptr<irsol::server::frame_collector::FrameCollector::frame_queue_t> queue,
Base handler templates for protocol message processing.
Base handler for frame acquisition commands (gi, gis).
std::vector< out_message_t > process(std::shared_ptr< irsol::server::ClientSession > session, protocol::Command &&message) final override
Processes a frame acquisition command, starting the frame collection thread.
void startListeningThread(std::shared_ptr< irsol::server::ClientSession > session, std::shared_ptr< irsol::server::frame_collector::FrameCollector::frame_queue_t > queue, protocol::Command &&command, const std::string &description)
Starts the frame listening thread for the client session.
virtual std::vector< irsol::protocol::OutMessage > validate(const protocol::Command &message, std::shared_ptr< irsol::server::ClientSession > session) const =0
Validates parameters before starting listener thread.
virtual double getFrameRate(const protocol::Command &message, std::shared_ptr< irsol::server::ClientSession > session) const =0
Retrieves the frame rate to use to start the listening.
std::string getDescription(const protocol::Command &message, std::shared_ptr< irsol::server::ClientSession > session) const
Generates a description string for the command execution.
virtual uint64_t getInputSequenceLength(const protocol::Command &message, std::shared_ptr< irsol::server::ClientSession > session) const =0
Retrieves the input sequence length to use to start the listening.
Generic handler base class for protocol messages.
std::shared_ptr< Context > ctx
Handler context (provides access to app and utilities).
constexpr auto makeHandler(std::shared_ptr< Context > ctx, Args &&... args)
Constructs a handler instance of the given type.
Represents a command invocation in the protocol.