cvs commit: src/sys/kern kern_syslink.c src/sys/sys syslink_msg.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Mar 24 12:11:52 PDT 2007
dillon 2007/03/24 12:11:15 PDT
DragonFly src repository
Modified files:
sys/kern kern_syslink.c
sys/sys syslink_msg.h
Log:
Reformulate the syslink_msg structure a bit. Instead of trying to create
unique sessions with a combination of logical and transaction ids, which
when all said and done is not very robust and not easy to index,
create a 'session' abstraction which can be used as a rendezvous for
a transaction as well as recorded by the route node for tracking and
caching purposes.
The 64 bit session ids are cluster-wide unique numbers, unique for all-time
(which means 'for long enough'... i.e. at least a year), which identify
abstracted connections between entities... almost the equivalent of
an 'open'. The universal uniqueness of the number combined with the
logical end-point tracking greatly improves robustness in the face of an
ever-changing dynamic cluster mesh and guarentees that a syslink message
will never be misinterpreted. Stale sessions can now be trivially
detected and acted upon.
This also allows us to reformulate the sysids we store in the message
structure into something that is far more suitable for tracking and routing
purposes without having to bloat the structure (three 64 bit ids in the
structure is plenty already!).
Revision Changes Path
1.7 +6 -4 src/sys/kern/kern_syslink.c
1.5 +72 -72 src/sys/sys/syslink_msg.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_syslink.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syslink_msg.h.diff?r1=1.4&r2=1.5&f=u
More information about the Commits
mailing list