$Id: notes.txt,v 1.4 2001/09/08 21:18:45 joshua Exp joshua $ spread source notes Daemon layers from highest to lowest: - Session = session.c + groups.c - Protocol = protocol.c + membership.c + flow_control.c - Network = network.c - Data link = data_link.c The session layer (groups.c, session.c) use an abstraction of a message that is provided by message.c. Message.c is intertwined (by implementation) with the protocol layer (membership.c protocol.c flow_control.c). The idea is that changes to the protocol layer data structures can be made without effecting the session layer. Spread daemon: acm.c handle access control policies acp-permit.c acp_ops to permit open access alarm.c console message filtering&display auth-ip.c auth_ops for IP-based authentication auth-null.c auth_ops for no authentication config_parse.[yl] yacc & lex source for reading configuration files configuration.c yacc wrapper & configuration lookup data_link.c socket code layer with scatter events.c event scheduling&delivery, prioritised-events select wrapper flow_control.c update ring flowcontrol tunables groups.c process-group membership state machine, EVS (group level), notification. log.c write log messages to file membership.c daemon-network membership state machine, EVS (daemon level), notification. memory.c typed&pooled memory object manager message.c message object data access functions network.c inter-segment routing and dissemination. protocol.c robust implementation of the Totem ring protocol, EVS (daemon level) session.c handle client connections skiplist.c implementation of skiplists for group lookups spread.c initialise subsystems, start main event loop status.c respond to monitor status requests (magic 15051963) Library sources: alarm.c as above events.c as above memory.c as above sp.c Spread client API implementation library Tools sources: monitor.c monitor & manage daemons flooder.c message flooder user.c command-line interface to client API simple_user.c simple send&receive demonstration Other sources: r.c sniffing tool } - useful for testing network UDP loss rates. s.c spamming tool } arch.c basic strerror for SunOS auth-pword.c acp_ops for cleartext password authentication } unused. auth-pword-client.c acp_ops for cleartext password authentication } auth-pword sources are unused because they are not considered tested or necessarily a good idea (bad security). They were written to provide an example of an authentication module.