STXXL
1.4.0
|
Request with completion state.
Definition at line 29 of file request_with_state.h.
Public Member Functions | |
virtual | ~request_with_state () |
bool | cancel () |
Cancel a request. More... | |
bool | poll () |
Polls the status of the request. More... | |
void | wait (bool measure_time=true) |
Suspends calling thread until completion of the request. More... | |
Public Member Functions inherited from stxxl::request | |
request (const completion_handler &on_compl, file *file__, void *buffer_, offset_type offset_, size_type bytes_, request_type type_) | |
virtual | ~request () |
void | check_alignment () const |
void | check_errors () throw (stxxl::io_error) |
Rises an exception if there were error with the I/O. More... | |
void | error_occured (const char *msg) |
Inform the request object that an error occurred during the I/O execution. More... | |
void | error_occured (const std::string &msg) |
Inform the request object that an error occurred during the I/O execution. More... | |
void * | get_buffer () const |
file * | get_file () const |
offset_type | get_offset () const |
size_type | get_size () const |
request_type | get_type () const |
std::ostream & | print (std::ostream &out) const |
Dumps properties of a request. More... | |
Public Member Functions inherited from stxxl::request_interface | |
virtual | ~request_interface () |
virtual const char * | io_type () const =0 |
Identifies the type of I/O implementation. More... | |
virtual void | serve ()=0 |
Public Member Functions inherited from stxxl::atomic_counted_object | |
atomic_counted_object () | |
new objects have zero reference count More... | |
atomic_counted_object (const atomic_counted_object &) | |
coping still creates a new object with zero reference count More... | |
~atomic_counted_object () | |
bool | dec_reference () const |
Call whenever resetting (i.e. overwriting) a pointer to the object. IMPORTANT: In case of self-assignment, call AFTER inc_reference(). More... | |
unsigned_type | get_reference_count () const |
Return the number of references to this object (for debugging) More... | |
void | inc_reference () const |
Call whenever setting a pointer to the object. More... | |
atomic_counted_object & | operator= (const atomic_counted_object &) |
assignment operator, leaves pointers unchanged More... | |
bool | unique () const |
Test if the counted_object is referenced by only one counting_ptr. More... | |
Protected Types | |
enum | request_state { OP = 0, DONE = 1, READY2DIE = 2 } |
states of request OP - operating, DONE - request served, READY2DIE - can be destroyed More... | |
Protected Member Functions | |
request_with_state (const completion_handler &on_cmpl, file *f, void *buf, offset_type off, size_type b, request_type t) | |
Protected Member Functions inherited from stxxl::request | |
void | check_nref (bool after=false) |
void | completed () |
Protected Member Functions inherited from stxxl::request_with_waiters | |
bool | add_waiter (onoff_switch *sw) |
void | delete_waiter (onoff_switch *sw) |
void | notify_waiters () |
Protected Attributes | |
state< request_state > | _state |
Protected Attributes inherited from stxxl::request | |
void * | buffer |
size_type | bytes |
compat_unique_ptr < stxxl::io_error >::result | error |
file * | file_ |
offset_type | offset |
completion_handler | on_complete |
request_type | type |
Additional Inherited Members | |
Public Types inherited from stxxl::request_interface | |
typedef stxxl::external_size_type | offset_type |
enum | request_type { READ, WRITE } |
typedef stxxl::internal_size_type | size_type |
|
protected |
states of request OP - operating, DONE - request served, READY2DIE - can be destroyed
Enumerator | |
---|---|
OP | |
DONE | |
READY2DIE |
Definition at line 34 of file request_with_state.h.
|
inlineprotected |
Definition at line 39 of file request_with_state.h.
|
virtual |
Definition at line 29 of file request_with_state.cpp.
References STXXL_VERBOSE3.
|
virtual |
Cancel a request.
The request is canceled unless already being processed. However, cancelation cannot be guaranteed. Canceled requests must still be waited for in order to ensure correct operation. If the request was canceled successfully, the completion handler will not be called.
true
iff the request was canceled successfully Implements stxxl::request_interface.
Definition at line 53 of file request_with_state.cpp.
References STXXL_VERBOSE3.
|
virtual |
Polls the status of the request.
true
if request is completed, otherwise false
Implements stxxl::request_interface.
Definition at line 73 of file request_with_state.cpp.
|
virtual |
Suspends calling thread until completion of the request.
Implements stxxl::request_interface.
Definition at line 42 of file request_with_state.cpp.
References STXXL_VERBOSE3.
|
protected |
Definition at line 36 of file request_with_state.h.
Referenced by stxxl::serving_request::completed().