Re: [nox-dev] asynchronous behavior in NOX
I'm probably missing something basic, but if events are processed sequentially and each event is sent sequentially to each of its handlers, then where does threading play a role? On Tue, Mar 9, 2010 at 9:18 PM, Martin Casado cas...@nicira.com wrote: Events are processed sequentially until an event blocks on an IO operation or stops in which case another event may enter the system. NOX is described as supporting an asynchronous programming model. I'm trying to understand what this means by considering the following scenarios: Multiple components are registered to handle a single event. I understand that this event will be passed sequentially to each component registered to handle it in the order specified in nox.ml http://nox.ml. The subsequent handler is only called if the previous one returns CONTINUE. Alternatively, processes could be forked to call all of this event's handlers simultaneously. However, this latter option is not supported, correct? Two events are queued, first event A and then B. Event A gets dispatched to its first handler. When is Event B dispatched? Does NOX await completion of Event A's processing? ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] asynchronous behavior in NOX
Nox uses cooperative threading from a thread pool. Each event is executed within one of the threads in the pool. If one of the handlers for that thread blocks on a synchronous operation, another event (provided one is ready) will be dispatched in a different thread context. I'm probably missing something basic, but if events are processed sequentially and each event is sent sequentially to each of its handlers, then where does threading play a role? On Tue, Mar 9, 2010 at 9:18 PM, Martin Casado cas...@nicira.com mailto:cas...@nicira.com wrote: Events are processed sequentially until an event blocks on an IO operation or stops in which case another event may enter the system. NOX is described as supporting an asynchronous programming model. I'm trying to understand what this means by considering the following scenarios: Multiple components are registered to handle a single event. I understand that this event will be passed sequentially to each component registered to handle it in the order specified in nox.ml http://nox.ml http://nox.ml. The subsequent handler is only called if the previous one returns CONTINUE. Alternatively, processes could be forked to call all of this event's handlers simultaneously. However, this latter option is not supported, correct? Two events are queued, first event A and then B. Event A gets dispatched to its first handler. When is Event B dispatched? Does NOX await completion of Event A's processing? ___ nox-dev mailing list nox-dev@noxrepo.org mailto:nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] asynchronous behavior in NOX
Events are processed sequentially until an event blocks on an IO operation or stops in which case another event may enter the system. NOX is described as supporting an asynchronous programming model. I'm trying to understand what this means by considering the following scenarios: Multiple components are registered to handle a single event. I understand that this event will be passed sequentially to each component registered to handle it in the order specified in nox.ml http://nox.ml. The subsequent handler is only called if the previous one returns CONTINUE. Alternatively, processes could be forked to call all of this event's handlers simultaneously. However, this latter option is not supported, correct? Two events are queued, first event A and then B. Event A gets dispatched to its first handler. When is Event B dispatched? Does NOX await completion of Event A's processing? ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org