#include <assert.h>
#include "uv.h"
#include "internal.h"
Go to the source code of this file.
|
#define | DELEGATE_STREAM_REQ(loop, req, method, handle_at) |
|
#define | GET_REQ_ERROR(req) (pRtlNtStatusToDosError(GET_REQ_STATUS((req)))) |
|
#define | GET_REQ_SOCK_ERROR(req) (uv_ntstatus_to_winsock_error(GET_REQ_STATUS((req)))) |
|
#define | GET_REQ_STATUS(req) ((NTSTATUS) (req)->u.io.overlapped.Internal) |
|
#define | POST_COMPLETION_FOR_REQ(loop, req) |
|
#define | REGISTER_HANDLE_REQ(loop, handle, req) |
|
#define | REQ_SUCCESS(req) (NT_SUCCESS(GET_REQ_STATUS((req)))) |
|
#define | SET_REQ_ERROR(req, error) SET_REQ_STATUS((req), NTSTATUS_FROM_WIN32((error))) |
|
#define | SET_REQ_STATUS(req, status) (req)->u.io.overlapped.Internal = (ULONG_PTR) (status) |
|
#define | SET_REQ_SUCCESS(req) SET_REQ_STATUS((req), STATUS_SUCCESS) |
|
#define | UNREGISTER_HANDLE_REQ(loop, handle, req) |
|
#define | UV_SUCCEEDED_WITH_IOCP(result) ((result) || (GetLastError() == ERROR_IO_PENDING)) |
|
#define | UV_SUCCEEDED_WITHOUT_IOCP(result) ((result) && (handle->flags & UV_HANDLE_SYNC_BYPASS_IOCP)) |
|
◆ DELEGATE_STREAM_REQ
Value: do { \
case UV_TCP: \
break; \
\
case UV_NAMED_PIPE: \
break; \
\
case UV_TTY: \
break; \
\
default: \
assert(0); \
} \
} while (0)
Definition at line 114 of file req-inl.h.
◆ GET_REQ_ERROR
◆ GET_REQ_SOCK_ERROR
◆ GET_REQ_STATUS
#define GET_REQ_STATUS |
( |
|
req | ) |
((NTSTATUS) (req)->u.io.overlapped.Internal) |
◆ POST_COMPLETION_FOR_REQ
#define POST_COMPLETION_FOR_REQ |
( |
|
loop, |
|
|
|
req |
|
) |
| |
Value: if (!PostQueuedCompletionStatus((
loop)->iocp, \
0, \
0, \
&((
req)->
u.io.overlapped))) { \
uv_fatal_error(GetLastError(), "PostQueuedCompletionStatus"); \
}
Definition at line 76 of file req-inl.h.
◆ REGISTER_HANDLE_REQ
◆ REQ_SUCCESS
◆ SET_REQ_ERROR
◆ SET_REQ_STATUS
#define SET_REQ_STATUS |
( |
|
req, |
|
|
|
status |
|
) |
| (req)->u.io.overlapped.Internal = (ULONG_PTR) (status) |
◆ SET_REQ_SUCCESS
◆ UNREGISTER_HANDLE_REQ
Value: do { \
uv__req_unregister((
loop), (
req)); \
} while (0)
Definition at line 62 of file req-inl.h.
◆ UV_SUCCEEDED_WITH_IOCP
#define UV_SUCCEEDED_WITH_IOCP |
( |
|
result | ) |
((result) || (GetLastError() == ERROR_IO_PENDING)) |
◆ UV_SUCCEEDED_WITHOUT_IOCP
◆ uv_insert_pending_req()
◆ uv_overlapped_to_req()
static INLINE uv_req_t* uv_overlapped_to_req |
( |
OVERLAPPED * |
overlapped | ) |
|
|
static |
◆ uv_process_reqs()