Go to the FreeLists Home Page Home Signup Help Login
 



[openbeosnetteam] || [Date Prev] [02-2002 Date Index] [Date Next] || [Thread Prev] [02-2002 Thread Index] [Thread Next]

[openbeosnetteam] Talking between modules [Was: Change of heart...]

  • From: <j-schwerer@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: 5 Feb 2002 16:00:22 MST
>Hmm, you could do it that way.  How about a simple system where by each
>module simply adds itself to a list of protocols it can speak, and what =
the
>function call is? They all take the same parameters, so it's not a biggi=
e.

But you have to have a rule somewhere in order to know what protocol you =
have
just decapsulated so you know what module you want to talk to.
So in that case, either the rules would be something separate (e.g. some =
kind
of recognition library), or it would be in the lower layer.
In that case, if you want to add IPv6 for example, you have to update the=

ethernet layer or the recognition library  (with the new rule) *and* add =
an
IPv6 module. While if you have a GimmeYourRule function you can call, you=
 can
only add an IPv6 module and you don't have to update the ethernet module.=


As for taking the same parameters, well I am all for this whatever scheme=
 we
choose. In my previous example we can have HereIsYourData (datastruct &) =
with
datastruct holding the guessed protocol identifier, the data itself, and
whatever useful information we may want.
We can then either directly call the concerned module or have a generic
net_input function read the guessed protocol identifier and call the modu=
le.

That's only ideas but they are quite important so please let's debate the=
 hell
out of it :o)

Jean


____________________________________________________________________
Get free e-mail and a permanent address at http://www.amexmail.com/?A=3D1=






[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.