Events are sent through a chain of handlers. Each handler returns a
Disposition, either STOP or CONTINUE (with the obvious consequences).
The order in which handlers are called can be specified in nox.xml. If
a handler is not specified in nox.xml, there is no guarantee where it
will be called in the chain (though it is guaranteed to be called).
My understanding is that events are raised asynchronously by various
components. Every component will be notified when every event (that it
has registered a handler for) is raised. So what ordering are we
referring to? Is it the components that are ordered? And a particular
event will go to the first component, and then the second (if the
first component's handler returns CONTINUE), and so on. This logic
follows an event as it is passed from one component to another.
nox.xml lists 8 events, and a various number of filters for each. At
least some of the filters sound like component names. For example
Flow_in_event has filters: sepl_enforcer, routing, sample_routing,
normal_routing, and flow_cache. Are these the names of the components
that Flow_in_event will be sent to, and in this order?
But how does this file handle new events defined by other components?
Thank you. I have a lot more to learn.
On Tue, Feb 16, 2010 at 1:32 PM, kk yap <yap...@stanford.edu
<mailto:yap...@stanford.edu>> wrote:
Hi Ashish,
I will try to document what I understand in the doxygen when I
find some time.
For now, in brevity, the Disposition is defined in include/event.hh:
enum Disposition { CONTINUE, STOP };
Events are passed in order of the list listed in nox.xml, i.e.,
components will receive the events in that order. If a previous
component return STOP, the event is not seen by the latter components.
The alternative is CONTINUE, which is the common case. Then, the
latter components will receive the events.
Hope I am being clear here.
Regards
KK
On 16 February 2010 10:22, Ashish Agarwal <agarwal1...@gmail.com
<mailto:agarwal1...@gmail.com>> wrote:
> Okay I kind of understand that, although I don't see this defined in
> nox.xml. This file just lists some events and provides filters
for each (but
> what's a filter?).
> In nox_main.cc, there are the beginnings of a doxygen manual
describing the
> NOX Programming Model, but it just has section titles right now.
This is
> exactly what I need. Is this documentation completed in any
later branch?
>
> On Tue, Feb 16, 2010 at 12:12 PM, Kyriakos Zarifis
<kyr.zari...@gmail.com <mailto:kyr.zari...@gmail.com>>
> wrote:
>>
>> Hey,
>>
>> without being sure, if I recall Dispositions are what
components return
>> with regards to the handling of an incoming event.. For example
CONTINUE
>> would push the event to be handled by the next component, and
STOP would
>> stop the forwarding of the event along the handler chain. This
chain is
>> defined in nox.xml
>>
>> I might be wrong, so someone else can correct me
>>
>> On Tue, Feb 16, 2010 at 9:03 AM, Ashish Agarwal
<agarwal1...@gmail.com <mailto:agarwal1...@gmail.com>>
>> wrote:
>>>
>>> Hi. What is a Disposition? I don't find a class definition for
this
>>> within the NOX source code.
>>> I'm trying to understand NOX's design overall. I've read the
white paper,
>>> but the NOX manual says that unfortunately NOX's internal
design is not well
>>> documented. Is that still the case, or is there some
documentation I haven't
>>> found? Or is the source code the only source of information?
>>> Thank you.
>>>
>>> _______________________________________________
>>> 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 <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
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org