pnoltes opened a new pull request, #583:
URL: https://github.com/apache/celix/pull/583

   This PR adds a scheduled event abstraction to the Celix framework, enabling 
the execution of scheduled events on the Celix event thread.
   
   While scheduled events are processed on the Apache Celix event thread, they 
are not part of the Apache Celix event queue, meaning that a waitForEmptyQueue 
call will not wait for scheduled events.
   
   The introduction of scheduled events allows small, low-frequency tasks to be 
performed on the existing Apache Celix event thread, thus reducing the number 
of threads that Apache Celix requires.
   
   There are two types of scheduled events:
   
       One-shot events: These are scheduled events that will only trigger once 
before being automatically removed.
       Recurring events: These are scheduled events with an interval that will 
continue to trigger until they are removed.
   
   A scheduled event can be added, removed, or woken up from the bundle context 
using both C and C++ APIs.
   
   In addition to these changes, this PR:
   
       Adds a `celixThreadCondition_getTime` function that returns a timespec 
that can be used as an absolute wait time in a Celix condition variable.
       Introduces a `celixThreadCondition_waitUntil` function that can be used 
to wait for an absolute time in the future.
       Includes an example of a `__cleanup__` attribute in the 
celix_scheduled_event.h header. Please note that this is a private header, so 
it can be changed or removed without breaking the API.
       Replaces the polling thread in the common remote service with a 
scheduled event.
       Substitutes the PubSub topology manager handling thread with a scheduled 
event.
       Replaces the remote service shared memory watcher thread with a 
scheduled event.
   
   Please note that the use of scheduled events in remote services, PubSub, 
and/or remote services shared memory watchers can be reverted if we decide that 
this step is unnecessary or too risky.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to