# IODefinitions.hpp
This File On Github
Ask A Question
API: latest
module: oatpp
#include "oatpp/core/IODefinitions.hpp"
# [unknown]
Namespace: oatpp
Represents I/O handle (ex.: file descriptor).
#if defined(WIN32) || defined(_WIN32)
#if defined(_WIN64)
typedef unsigned long long v_io_handle
# isValidIOHandle
Namespace: oatpp
Check if IO handle is valid.
- @param handle - IO handle.
- @return -
true
if valid.
bool isValidIOHandle(v_io_handle handle)
# v_io_size
Namespace: oatpp
All I/O buffer operations (like read/write(buffer, size)) should return v_io_size.
Possible return values:
- On Success - [1..max_int64].
- On Error - IOError values.
typedef v_int64 v_io_size
# IOError
Final set of possible I/O operation error values. I/O operation should not return any other error values.
namespace oatpp {
enum IOError : v_io_size;
}
# IOError::ZERO_VALUE
In oatpp 0 is considered to be an Error as for I/O operation size.
As for argument value 0 should be handled separately of the main flow.
As for return value 0 should not be returned.
I/O method should return an error describing a reason why I/O is empty instead of a zero itself.
if zero is returned, client should treat it like a bad api implementation and as an error in the flow.
ZERO_VALUE = 0
# IOError::BROKEN_PIPE
I/O operation is not possible any more. Client should give up trying and free all related resources.
BROKEN_PIPE = -1001
# IOError::RETRY_READ
I/O operation was interrupted because of some reason. Client may retry read immediately.
RETRY_READ = -1002
# IOError::RETRY_WRITE
I/O operation was interrupted because of some reason. Client may retry immediately.
RETRY_WRITE = -1003
# AsyncIOError
Asynchronous I/O error.
Extends oatpp::async::Error.
namespace oatpp {
class AsyncIOError : public oatpp::async::Error {}
}
# Methods
Return Type | Name | Summary |
---|---|---|
[none] | AsyncIOError | Multiple implementations:
|
v_io_size | getCode | Get I/O opersation error code. |
# AsyncIOError::AsyncIOError
- Constructor.
- @param what - description of error type.
- @param code - I/O opersation error code. IOError.
AsyncIOError(const char* what, v_io_size code) : oatpp::async::Error(what) , m_code(code)
- Constructor.
- @param code - I/O opersation error code. IOError.
AsyncIOError(v_io_size code) : oatpp::async::Error("AsyncIOError") , m_code(code)
# AsyncIOError::getCode
Get I/O opersation error code.
- @return - I/O opersation error code. IOError.
v_io_size getCode() const