27 #if !LELY_NO_COAPP_MASTER 37 FiberDriverBase::FiberDriverBase(
ev_exec_t* exec_)
38 #if !_WIN32 && _POSIX_MAPPED_FILES 39 : thrd(ev::FiberFlag::SAVE_ERROR | ev::FiberFlag::GUARD_STACK),
41 : thrd(ev::FiberFlag::SAVE_ERROR),
50 : FiberDriverBase(exec ? exec
51 : static_cast<
ev_exec_t*>(master.GetExecutor())),
59 }
catch (const ::std::system_error& e) {
80 #endif // !LELY_NO_COAPP_MASTER const struct ev_exec_vtbl *const ev_exec_t
An abstract task executor.
An asynchronous CANopen master.
The base class for drivers for remote CANopen nodes.
void USleep(uint_least64_t usec)
Suspends the calling fiber for usec microseconds.
This is the internal header file of the C++ CANopen application library.
The exception thrown when retrieving the result of a future which is not ready or does not contain a ...
SdoFuture< void > AsyncWait(const time_point &t)
Submits an asynchronous wait operation and creates a future which becomes ready once the wait operati...
FiberDriver(ev_exec_t *exec, AsyncMaster &master, uint8_t id)
Creates a new CANopen driver and its associated fiber executor.
This header file is part of the C++ CANopen application library; it contains the declarations for the...
result_type & get()
Returns the result of a ready future.
::std::error_code make_error_code(SdoErrc e) noexcept
Creates an error code corresponding to an SDO abort code.
T Wait(SdoFuture< T > f)
Waits for the specified future to become ready by suspending the calling fiber.