Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add timer service ability to schedule callables #51

Closed
sgalgano opened this issue Jun 29, 2016 · 0 comments
Closed

Add timer service ability to schedule callables #51

sgalgano opened this issue Jun 29, 2016 · 0 comments
Assignees

Comments

@sgalgano
Copy link
Member

Modify the timer service to allow scheduling a callable in addition to the existing functionality that allows scheduling calls to processTimedEvent .

@sgalgano sgalgano self-assigned this Jun 29, 2016
sgalgano added a commit that referenced this issue Jun 29, 2016
is available only for NEM layers.

Modified NEMQueuedLayer to expose an interface to process a scheduled
callable:

 template <typename Function>
    void processTimer(Function fn,
                      const TimePoint & expireTime,
                      const TimePoint & scheduleTime,
                      const TimePoint & fireTime);

Created an NEM layer platform service and timer service proxy
implementation to allow enqueuing of expired timer callables within
respective NEM functor queues.

Modified builders (NEM and transport) and the embedded transport API
to reorder nesting of NEM wrappers in order to expose NEMQueuedLayer
instances:

 NEMQueuedLayer(NEMStatefulLayer(Plugin|Embedded Transport)))

Modified all NEM layer specializations of NEMQueuedLayer to use base
class NEMLayer references.

Modified NEMOTAAdpater and NEMQueuedLayer functor queues to reduce the
number of synchronization locks required under heavy load.

Modified OTAManager interface to use a const DownstreamPacket
reference in sendOTAPacket.

Modified OTAManager logic to avoid creation of an UpstreamPacket from a
DownstreamPacket to send up the stack if the number of NEMs registered
is not greater than 1.

Modified RF Pipe, IEEE802.11abg and TDMA radio models to use the
timer service callable interface.

See #51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant