[noctool-devel] More network protocol things

Ingvar ingvar at hexapodia.net
Sun Jun 15 11:00:44 UTC 2008


Some thinking later and I've split the network code into three files.

If anyone wants to play around with it, I have a (temporary) extra ASDF 
definition to make it possibel to load noctool and noctool-with-network 
separately (makes it slightly easier to find network-specific compilation 
issues), I'll paste it in towards the end.

Now, what I've done, to make the protocol dispatch easier (hahaha) to follow, 
is a dispatch table, keyed off the protocol message header and a macro taht 
defines handlers.

The defhandler macro looks like this:
(defhandler <function name> (<protocol header> <rest> <of> <message>...)
  ... function body goes here)

This does two things, it defines a function <function name>, with CONN as the
first argument (in most cases, you need to know what connection to send a 
reply back to) and the message type thingie declared as ignorable (since, 
most of the time, it's only used for dispatching, anyway).

Not very tested, as of yet, I'll probably need to frob around with how to 
retrieve and set proxy objects, but...

And here's the system definition (once the network code is a bit more stable 
and "with it", I'll merge this into the main system definition, I won't check 
this temp definition into CVS):
(in-package :asdf)

(defsystem "noctool-network"
  :depends-on ("noctool")
  :components ((:file "network-globals")
	       (:file "network-utils" :depends-on ("network-globals"))
	       (:file "network" :depends-on ("network-utils" "network-globals"))))


//Ingvar




More information about the Noctool-devel mailing list