Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.9 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

    Detailed Description

    An abstract interface that event consumer can wait for events using event notifier in event loop.

    Definition at line 688 of file nvscievent.h.

    Collaboration diagram for NvSciEventLoopService:

    Data Fields

    NvSciEventService EventService
     
    NvSciError(* WaitForEvent )(NvSciEventNotifier *eventNotifier, int64_t microseconds)
     Waits up to a configurable timeout for a particular event notification, servicing events with configured callbacks in the interim. More...
     
    NvSciError(* WaitForMultipleEvents )(NvSciEventNotifier *const *eventNotifierArray, size_t eventNotifierCount, int64_t microseconds, bool *newEventArray)
     Waits up to a configurable timeout for any of a set of particular event notifications, servicing events with configured callbacks in the interim. More...
     
    NvSciError(* WaitForMultipleEventsExt )(NvSciEventService *eventService, NvSciEventNotifier *const *eventNotifierArray, size_t eventNotifierCount, int64_t microseconds, bool *newEventArray)
     Waits up to a configurable timeout for any of a set of particular event notifications, servicing events with configured callbacks in the interim. More...
     

    Field Documentation

    ◆ EventService

    NvSciEventService NvSciEventLoopService::EventService

    Definition at line 689 of file nvscievent.h.

    ◆ WaitForEvent

    NvSciError(* NvSciEventLoopService::WaitForEvent) (NvSciEventNotifier *eventNotifier, int64_t microseconds)

    Waits up to a configurable timeout for a particular event notification, servicing events with configured callbacks in the interim.

    Any asynchronous event notifiers that are pending before calling this function will be claimed by some thread for handling before this function returns.

    eventNotifier must have been created through EventService.

    Note
    This function must not be called from an event notifier callback.

    This function waits up to a configurable timeout to receive a pulse event which is configured on NvSciQnxEventService_CreateNativeEventNotifier(). eventNotifier must have been created through EventService before calling.

    Parameters
    [in]eventNotifierNvSciEventNotifier object pointer.
    [in]microsecondsA 64-bit integer timeout in microsecond. Set to -1 for an infinite timeout, for example, the value NV_SCI_EVENT_INFINITE_WAIT.
    Returns
    NvSciError, the completion code of operations:
    Precondition
    NvSciEventLoopServiceCreateSafe() must be called. NvSciIpcGetEventNotifier() must be called for NvSciNativeEvent. NvSciEventService::CreateLocalEvent() must be called for NvSciLocalEvent.


    Usage considerations

    • Allowed context for the API call
      • Interrupt: No
      • Signal handler: No
      • Thread-safe: Yes
      • Async/Sync: Sync
    • Required Privileges(QNX): None
    • API Group
      • Init: No
      • Runtime: Yes
      • De-Init: No

    Definition at line 754 of file nvscievent.h.

    ◆ WaitForMultipleEvents

    NvSciError(* NvSciEventLoopService::WaitForMultipleEvents) (NvSciEventNotifier *const *eventNotifierArray, size_t eventNotifierCount, int64_t microseconds, bool *newEventArray)

    Waits up to a configurable timeout for any of a set of particular event notifications, servicing events with configured callbacks in the interim.

    Any asynchronous event notifiers that are pending before calling this function will be claimed by some thread for handling before this function returns.

    Each event notifier in eventNotifierArray must have been created through EventService.

    On a successful return, for each integer i in the range [0, eventNotifierCount-1], newEventArray[i] will be true only if eventNotifierArray[i] had a new event.

    Note
    This function must not be called from an event notifier callback.
    This function will be deprecated in furture and user must use the newer version of the API which is NvSciEventWaitForMultipleEventsExt
    Parameters
    [in]eventNotifierArrayArray of NvSciEventNotifier object pointers. It should not be NULL.
    [in]eventNotifierCountEvent notifier count in eventNotifierArray.
    [in]microsecondsA 64-bit integer timeout in microsecond. Set to -1 for infinite timeout, for example, the value NV_SCI_EVENT_INFINITE_WAIT.
    [out]newEventArrayArray of event occurrence.
    Returns
    NvSciError, the completion code of operations:
    Precondition
    NvSciEventLoopServiceCreateSafe() must be called. NvSciIpcGetEventNotifier() must be called for NvSciNativeEvent. NvSciEventService::CreateLocalEvent() must be called for NvSciLocalEvent.


    Usage considerations

    • Allowed context for the API call
      • Interrupt: No
      • Signal handler: No
      • Thread-safe: Yes
      • Async/Sync: Sync
    • Required Privileges(QNX): None
    • API Group
      • Init: No
      • Runtime: Yes
      • De-Init: No

    Definition at line 814 of file nvscievent.h.

    ◆ WaitForMultipleEventsExt

    NvSciError(* NvSciEventLoopService::WaitForMultipleEventsExt) (NvSciEventService *eventService, NvSciEventNotifier *const *eventNotifierArray, size_t eventNotifierCount, int64_t microseconds, bool *newEventArray)

    Waits up to a configurable timeout for any of a set of particular event notifications, servicing events with configured callbacks in the interim.

    Any asynchronous event notifiers that are pending before calling this function will be claimed by some thread for handling before this function returns.

    Each event notifier in eventNotifierArray must have been created through EventService.

    On a successful return, for each integer i in the range [0, eventNotifierCount-1], newEventArray[i] will be true only if eventNotifierArray[i] had a new event.

    eventNotifierArray can be NULL then this function will not update newEventArray but still service events with configured callbacks, which are created with eventService until the specified timeout period. For this NULL case, timeout in microseconds works in this way.

    1. microseconds > 0 Callbacks will continue to be served until the timeout happens. If any callback takes long more than timeout, other callbacks associated with events which arrives before timeout will be served even after timeout.
    2. microseconds = -1 (NV_SCI_EVENT_INFINITE_WAIT) Callbacks will continue to be served and this API will never returns.
    Note
    This function must not be called from an event notifier callback.
    Parameters
    [in]eventServicePointer to the event service object
    [in]eventNotifierArrayArray of NvSciEventNotifier object pointers. If it is NULL, eventNotifierCount should be zero and newEventArray should be NULL together.
    [in]eventNotifierCountEvent notifier count in eventNotifierArray.
    [in]microsecondsA 64-bit integer timeout in microsecond. Set to -1 for infinite timeout, for example, the value NV_SCI_EVENT_INFINITE_WAIT.
    [out]newEventArrayArray of event occurrence.
    Returns
    NvSciError, the completion code of operations:
    Precondition
    NvSciEventLoopServiceCreateSafe() must be called. NvSciIpcGetEventNotifier() must be called for NvSciNativeEvent. NvSciEventService::CreateLocalEvent() must be called for NvSciLocalEvent.


    Usage considerations

    • Allowed context for the API call
      • Interrupt: No
      • Signal handler: No
      • Thread-safe: Yes
      • Async/Sync: Sync
    • Required Privileges(QNX): None
    • API Group
      • Init: No
      • Runtime: Yes
      • De-Init: No

    Definition at line 889 of file nvscievent.h.


    The documentation for this struct was generated from the following file:
    人人超碰97caoporen国产