![]() |
VSM C++ SDK
Vehicle Specific Modules SDK
|
Baser I/O write request. More...
#include <io_request.h>
Public Types | |
typedef std::shared_ptr < Write_request > | Ptr |
Shared pointer to write request. More... | |
![]() | |
typedef std::shared_ptr < Io_request > | Ptr |
Pointer type. | |
typedef std::weak_ptr< Io_request > | Weak_ptr |
Pointer type. | |
![]() | |
enum | Status { Status::PENDING, Status::CANCELLATION_PENDING, Status::CANCELING, Status::PROCESSING, Status::ABORT_PENDING, Status::ABORTED, Status::RESULT_CODES, Status::OK = RESULT_CODES, Status::CANCELED } |
Request processing status which is returned by the handler or set internally. More... | |
typedef std::shared_ptr< Request > | Ptr |
Pointer type. | |
typedef std::weak_ptr< Request > | Weak_ptr |
Pointer type. | |
typedef Callback_base< void > ::Ptr<> | Handler |
Callback denoting a handler of the request. More... | |
typedef std::unique_lock < std::mutex > | Locker |
Smart lock object for request external locking. More... | |
Public Member Functions | |
template<typename... Args> | |
Write_request (Io_buffer::Ptr buffer, Args &&...args) | |
Construct write request. More... | |
Io_buffer::Ptr & | Data_buffer () |
Access the buffer with data to write. More... | |
![]() | |
Io_request (Io_stream::Ptr stream, Io_stream::Offset offset, Io_result &result_arg) | |
Construct I/O request. More... | |
Io_stream::Ptr | Get_stream () const |
Locks and gets the associated stream. More... | |
Io_stream::Offset & | Offset () |
Get I/O operation offset value. More... | |
void | Set_result_arg (Io_result result, const Request::Locker &lock=Request::Locker()) |
Sets the result argument. More... | |
Io_result | Get_last_result () |
Get the most recently set result value. More... | |
![]() | |
void | Set_processing_handler (const Handler &handler) |
Set processing handler for the request. More... | |
void | Set_processing_handler (Handler &&handler) |
void | Set_completion_handler (const Request_container::Ptr &context, const Handler &handler) |
Set completion handler for the request. More... | |
void | Set_completion_handler (const Request_container::Ptr &context, Handler &&handler) |
void | Set_cancellation_handler (const Handler &handler) |
Set request cancellation handler. More... | |
void | Set_cancellation_handler (Handler &&handler) |
void | Set_done_handler (Handler &handler) |
Set request done handler. More... | |
void | Set_done_handler (Handler &&handler) |
Request_container::Ptr | Get_completion_context (Locker locker=Locker()) const |
Get completion context associated with the request. More... | |
void | Process (bool process_request) |
Process the request. More... | |
void | Complete (Status status=Status::OK, Locker locker=Locker()) |
Complete the request processing. More... | |
void | Cancel (Locker locker=Locker()) |
Cancel request processing. More... | |
void | Abort (Locker locker=Locker()) |
Call this method when request is not going to be processed by Process() method but is just removed from request queue. More... | |
Locker | Lock (bool acquire=true) const |
Acquire lock for request internal state. More... | |
Status | Get_status () const |
Get request current status. More... | |
bool | Is_completed () const |
Check if request is completed. More... | |
bool | Is_request_processing_needed () const |
Return true only if the request processing (i.e. More... | |
bool | Is_aborted () const |
Check if request is aborted. More... | |
bool | Is_processing () const |
Check if request is still processing. More... | |
bool | Is_completion_delivered () const |
Check if the request completion notification is delivered. More... | |
bool | Is_completion_delivering_started () const |
Check if the request completion handler already invoked (but might not be returned yet. | |
bool | Is_done () const |
Check if request is fully processed, i.e. More... | |
bool | Wait_done (bool process_ctx=true, std::chrono::milliseconds timeout=std::chrono::milliseconds::zero()) |
Wait for request is fully processed, i.e. More... | |
bool & | Timed_out () |
Access timed_out member. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance of the request. More... | |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
Additional Inherited Members | |
![]() | |
bool | Is_completion_handler_present () |
Checks the availability of the completion handler. More... | |
Baser I/O write request.
typedef std::shared_ptr<Write_request> ugcs::vsm::Write_request::Ptr |
Shared pointer to write request.
|
inline |
Construct write request.
buffer | Buffer with data to write. |
args | Arguments pack for Io_request constructor. |
|
inlinestatic |
Create an instance of the request.
|
inline |
Access the buffer with data to write.