WPILibC++ 2023.4.3-108-ge5452e3
|
Async specialization for no data parameters. More...
#include <wpinet/uv/Async.h>
Public Member Functions | |
Async (const std::shared_ptr< Loop > &loop, const private_init &) | |
~Async () noexcept override | |
void | Send () |
Wakeup the event loop and emit the event. More... | |
void | UnsafeSend () |
Wakeup the event loop and emit the event. More... | |
Public Member Functions inherited from wpi::uv::HandleImpl< Async<>, uv_async_t > | |
std::shared_ptr< Async<> > | shared_from_this () |
std::shared_ptr< const Async<> > | shared_from_this () const |
uv_async_t * | GetRaw () const noexcept |
Get the underlying handle data structure. More... | |
Public Member Functions inherited from wpi::uv::Handle | |
Handle (const Handle &)=delete | |
Handle (Handle &&)=delete | |
Handle & | operator= (const Handle &)=delete |
Handle & | operator= (Handle &&)=delete |
virtual | ~Handle () noexcept |
Type | GetType () const noexcept |
Get the type of the handle. More... | |
std::string_view | GetTypeName () const noexcept |
Get the name of the type of the handle. More... | |
std::shared_ptr< Loop > | GetLoop () const noexcept |
Get the loop where this handle runs. More... | |
Loop & | GetLoopRef () const noexcept |
Get the loop where this handle runs. More... | |
bool | IsActive () const noexcept |
Check if the handle is active. More... | |
bool | IsClosing () const noexcept |
Check if a handle is closing or closed. More... | |
void | Close () noexcept |
Request handle to be closed. More... | |
void | SetLoopClosing (bool loopClosing) noexcept |
Set if the loop is closing. More... | |
bool | IsLoopClosing () const noexcept |
Get the loop closing status. More... | |
void | Reference () noexcept |
Reference the given handle. More... | |
void | Unreference () noexcept |
Unreference the given handle. More... | |
bool | HasReference () const noexcept |
Check if the given handle is referenced. More... | |
size_t | RawSize () const noexcept |
Return the size of the underlying handle type. More... | |
uv_handle_t * | GetRawHandle () const noexcept |
Get the underlying handle data structure. More... | |
void | SetBufferAllocator (std::function< Buffer(size_t)> alloc, std::function< void(Buffer &)> dealloc) |
Set the functions used for allocating and releasing buffers. More... | |
void | FreeBuf (Buffer &buf) const noexcept |
Free a buffer. More... | |
template<typename T = void> | |
std::shared_ptr< T > | GetData () const |
Gets user-defined data. More... | |
void | SetData (std::shared_ptr< void > data) |
Sets user-defined data. More... | |
void | ReportError (int err) const |
Report an error. More... | |
Static Public Member Functions | |
static std::shared_ptr< Async > | Create (Loop &loop) |
Create an async handle. More... | |
static std::shared_ptr< Async > | Create (const std::shared_ptr< Loop > &loop) |
Create an async handle. More... | |
Public Attributes | |
sig::Signal | wakeup |
Signal generated (on event loop thread) when the async event occurs. More... | |
Public Attributes inherited from wpi::uv::Handle | |
sig::Signal< Error > | error |
Error signal. More... | |
sig::Signal | closed |
Closed signal. More... | |
Additional Inherited Members | |
Public Types inherited from wpi::uv::Handle | |
using | Type = uv_handle_type |
Protected Member Functions inherited from wpi::uv::HandleImpl< Async<>, uv_async_t > | |
HandleImpl () | |
Protected Member Functions inherited from wpi::uv::Handle | |
Handle (uv_handle_t *uv_handle) | |
void | Keep () noexcept |
void | Release () noexcept |
void | ForceClosed () noexcept |
template<typename F , typename... Args> | |
bool | Invoke (F &&f, Args &&... args) const |
Static Protected Member Functions inherited from wpi::uv::Handle | |
static void | AllocBuf (uv_handle_t *handle, size_t size, uv_buf_t *buf) |
static void | DefaultFreeBuf (Buffer &buf) |
Async specialization for no data parameters.
The async callback may or may not be called for every call to Send() (e.g. the calls may be coaleasced).
|
inline |
|
overridenoexcept |
|
static |
Create an async handle.
loop | Loop object where this handle runs. |
|
inlinestatic |
Create an async handle.
loop | Loop object where this handle runs. |
|
inline |
Wakeup the event loop and emit the event.
It’s safe to call this function from any thread. An async event will be emitted on the loop thread.
|
inline |
Wakeup the event loop and emit the event.
This function assumes the loop still exists, which makes it a bit faster.
It’s safe to call this function from any thread. An async event will be emitted on the loop thread.
sig::Signal wpi::uv::Async<>::wakeup |
Signal generated (on event loop thread) when the async event occurs.