Lines Matching full:apis
43 primitives**. Many of our APIs are similar or **nearly identical to C++'s
45 support exceptions. We opted to follow the STL's APIs partially because they
56 the basis for any time bound APIs (i.e. with timeouts and/or deadlines). Note
96 Unlike the STL's time bound templated APIs which are not specific to a
97 particular clock, Pigweed's time bound APIs are strongly typed to use the
375 Pigweed has the following classes of APIs:
377 **Thread Safe APIs** - These APIs are safe to use in any execution context where
378 one can use blocking or yielding APIs such as sleeping, blocking on a mutex
381 **Interrupt (IRQ) Safe APIs** - These APIs can be used in any execution context
382 which cannot use blocking and yielding APIs. These APIs must protect themselves
387 always be safely used in a context which permits thread safe APIs.
389 **Non-Maskable Interrupt (NMI) Safe APIs** - Like the Interrupt Safe APIs, these
390 can be used in any execution context which cannot use blocking or yielding APIs.
394 safe APIs as they **cannot rely on critical sections**, instead
396 used in a context which permits interrupt safe and thread safe APIs.
400 Instead of having context specific APIs like FreeRTOS's ``...FromISR()``,
406 interrupt, and NMI, having context-specific APIs would be a hard to
407 maintain. The proliferation of postfixed APIs (``...FromISR``,
416 duplicated for each context if the APIs were postfixed, or duplicated with
480 6. Migrate HAL and similar APIs to use deadlines for the backend virtual
484 8. Most of our APIs today are focused around synchronous blocking APIs, however
485 we would love to extend this to include asynchronous APIs.