|
Thrill
0.1
|
Request which serves an I/O by calling the synchronous routine of the file.
Definition at line 25 of file serving_request.hpp.
Inheritance diagram for serving_request:
Collaboration diagram for serving_request:#include <serving_request.hpp>
Public Member Functions | |
| serving_request (const completion_handler &on_complete, file *file, void *buffer, offset_type offset, size_type bytes, read_or_write op) | |
| const char * | io_type () const final |
| Identifies the type of I/O implementation. More... | |
Public Member Functions inherited from request_with_state | |
| virtual | ~request_with_state () |
| bool | cancel () override |
| Cancel a request. More... | |
| bool | poll () final |
| void | wait (bool measure_time=true) final |
| Suspends calling thread until completion of the request. More... | |
Public Member Functions inherited from request_with_waiters | |
| request_with_waiters (const completion_handler &on_complete, file *file, void *buffer, offset_type offset, size_type bytes, read_or_write op) | |
Public Member Functions inherited from request | |
| request (const completion_handler &on_complete, file *file, void *buffer, offset_type offset, size_type bytes, read_or_write op) | |
| request (const request &)=delete | |
| non-copyable: delete copy-constructor More... | |
| request (request &&)=default | |
| move-constructor: default More... | |
| virtual | ~request () |
| request & | operator= (const request &)=delete |
| non-copyable: delete assignment operator More... | |
| request & | operator= (request &&)=default |
| move-assignment operator: default More... | |
| file * | get_file () const |
| void * | buffer () const |
| offset_type | offset () const |
| size_type | bytes () const |
| read_or_write | op () const |
| void | check_alignment () const |
| std::ostream & | print (std::ostream &out) const final |
| Dumps properties of a request. More... | |
| void | error_occured (const char *msg) |
| void | error_occured (const std::string &msg) |
| void | check_errors () |
| Rises an exception if there were error with the I/O. More... | |
| void | release_file_reference () |
Public Member Functions inherited from request_interface | |
| request_interface ()=default | |
| request_interface (const request_interface &)=delete | |
| non-copyable: delete copy-constructor More... | |
| virtual | ~request_interface () |
| request_interface & | operator= (const request_interface &)=delete |
| non-copyable: delete assignment operator More... | |
Public Member Functions inherited from ReferenceCounter | |
| ReferenceCounter () noexcept | |
| new objects have zero reference count More... | |
| ReferenceCounter (const ReferenceCounter &) noexcept | |
| coping still creates a new object with zero reference count More... | |
| ~ReferenceCounter () | |
| bool | dec_reference () const noexcept |
| Call whenever resetting (i.e. More... | |
| void | inc_reference () const noexcept |
| Call whenever setting a pointer to the object. More... | |
| ReferenceCounter & | operator= (const ReferenceCounter &) noexcept |
| assignment operator, leaves pointers unchanged More... | |
| size_t | reference_count () const noexcept |
| Return the number of references to this object (for debugging) More... | |
| bool | unique () const noexcept |
| Test if the ReferenceCounter is referenced by only one CountingPtr. More... | |
Protected Member Functions | |
| virtual void | serve () |
Protected Member Functions inherited from request_with_state | |
| request_with_state (const completion_handler &on_complete, file *file, void *buffer, offset_type offset, size_type bytes, read_or_write op) | |
| void | completed (bool canceled) override |
Protected Member Functions inherited from request_with_waiters | |
| bool | add_waiter (onoff_switch *sw) final |
| void | delete_waiter (onoff_switch *sw) final |
| void | notify_waiters () final |
| size_t | num_waiters () |
| returns number of waiters More... | |
Protected Member Functions inherited from request | |
| void | check_nref (bool after=false) |
Static Private Attributes | |
| static constexpr bool | debug = false |
Additional Inherited Members | |
Public Types inherited from request_interface | |
| using | offset_type = uint64_t |
| type for offsets within a file More... | |
| enum | read_or_write { READ, WRITE } |
| using | size_type = size_t |
| type for block transfer sizes More... | |
Protected Types inherited from request_with_state | |
| enum | request_state { OP = 0, DONE = 1, READY2DIE = 2 } |
Protected Attributes inherited from request_with_state | |
| shared_state< request_state > | state_ |
Protected Attributes inherited from request | |
| std::unique_ptr< io_error > | error_ |
| completion_handler | on_complete_ |
| file * | file_ |
| file implementation to perform I/O with More... | |
| void * | buffer_ |
| data buffer to transfer More... | |
| offset_type | offset_ |
| offset within file More... | |
| size_type | bytes_ |
| number of bytes at buffer_ to transfer More... | |
| read_or_write | op_ |
| READ or WRITE. More... | |
| serving_request | ( | const completion_handler & | on_complete, |
| file * | file, | ||
| void * | buffer, | ||
| offset_type | offset, | ||
| size_type | bytes, | ||
| read_or_write | op | ||
| ) |
Definition at line 25 of file serving_request.cpp.
References request::check_alignment(), and file::need_alignment().
|
finalvirtual |
Identifies the type of I/O implementation.
Reimplemented from request.
Definition at line 65 of file serving_request.cpp.
References request::file_, and file::io_type().
|
protectedvirtual |
Definition at line 40 of file serving_request.cpp.
References request::buffer_, request::bytes_, request::check_nref(), request_with_state::completed(), request::error_occured(), request::file_, file::get_allocator_id(), request::offset_, request::op_, request_interface::READ, file::serve(), and TLX_LOG.
|
staticprivate |
Definition at line 27 of file serving_request.hpp.