class ugcs::vsm::Ucs_request¶
Overview¶
#include <device.h> class Ucs_request: public ugcs::vsm::Request_container::Request { public: // typedefs typedef std::shared_ptr<Ucs_request> Ptr; typedef std::weak_ptr<Ucs_request> Weak_ptr; // fields Proto_msg_ptr response = nullptr; uint32_t stream_id = 0; ugcs::vsm::proto::Vsm_message request; // construction Ucs_request(ugcs::vsm::proto::Vsm_message); // methods template <typename... Args> static Ptr Create(Args&&... args); void Complete( ugcs::vsm::proto::Status_code = ugcs::vsm::proto::STATUS_OK, const std::string& description = std::string() ); };
Inherited Members¶
public: // typedefs typedef std::shared_ptr<Request> Ptr; typedef std::weak_ptr<Request> Weak_ptr; typedef Callback_base<void>::Ptr<> Handler; typedef std::unique_lock<std::mutex> Locker; // enums enum Status; // methods template <typename... Args> static Ptr Create(Args&&... args); void Set_processing_handler(const Handler& handler); void Set_processing_handler(Handler&& handler); void Set_completion_handler(const Request_container::Ptr& context, const Handler& handler); void Set_completion_handler(const Request_container::Ptr& context, Handler&& handler); void Set_cancellation_handler(const Handler& handler); void Set_cancellation_handler(Handler&& handler); void Set_done_handler(Handler& handler); void Set_done_handler(Handler&& handler); Request_container::Ptr Get_completion_context(Locker locker = Locker()) const; void Process(bool process_request); void Complete(Status status = Status::OK, Locker locker = Locker()); void Cancel(Locker locker = Locker()); void Abort(Locker locker = Locker()); Locker Lock(bool acquire = true) const; Status Get_status() const; bool Is_completed() const; bool Is_request_processing_needed() const; bool Is_aborted() const; bool Is_processing() const; bool Is_completion_delivered() const; bool Is_completion_delivering_started() const; bool Is_done() const; bool Wait_done( bool process_ctx = true, std::chrono::milliseconds timeout = std::chrono::milliseconds::zero() ); bool& Timed_out();
Detailed Documentation¶
Typedefs¶
typedef std::shared_ptr<Ucs_request> Ptr
Pointer type.
typedef std::weak_ptr<Ucs_request> Weak_ptr
Pointer type.
Methods¶
template <typename... Args> static Ptr Create(Args&&... args)
Create an instance.