|
| AsyncBox (Store &store, uint64_t enqueueTimeoutMillis) |
| Create a custom AsyncBox instance. Prefer using Box::async() for standard tasks, it gives you a shared instance. More...
|
|
| AsyncBox (AsyncBox &&source) noexcept |
| Move constructor. More...
|
|
| AsyncBox (const AsyncBox &)=delete |
| Can't be copied, single owner of C resources is required (to avoid double-free during destruction) More...
|
|
virtual | ~AsyncBox () |
|
OBX_async * | cPtr () const |
|
obx_id | put (EntityT &object, OBXPutMode mode=OBXPutMode_PUT) |
| Reserve an ID, which is returned immediately for future reference, and insert asynchronously. Note: of course, it can NOT be guaranteed that the entity will actually be inserted successfully in the DB. More...
|
|
obx_id | put (const EntityT &object, OBXPutMode mode=OBXPutMode_PUT) |
| Reserve an ID, which is returned immediately for future reference and put asynchronously. Note: of course, it can NOT be guaranteed that the entity will actually be put successfully in the DB. More...
|
|
void | remove (obx_id id) |
| Asynchronously remove the object with the given id. More...
|
|
bool | awaitCompletion () |
| Await for all (including future) async submissions to be completed (the async queue becomes idle for a moment). Currently this is not limited to the single entity this AsyncBox is working on but all entities in the store. More...
|
|
bool | awaitSubmitted () |
| Await for previously submitted async operations to be completed (the async queue does not have to become idle). Currently this is not limited to the single entity this AsyncBox is working on but all entities in the store. More...
|
|
template<typename EntityT>
class obx::AsyncBox< EntityT >
AsyncBox provides asynchronous ("happening on the background") database manipulation.