[Spread-users] Spread source overview

Yair Amir yairamir at cnds.jhu.edu
Thu Sep 6 08:59:39 EDT 2001


Hi Joshua,

Pretty accurate description. I added a bit to it in a few places below.

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

	Enjoy,

	:) Yair.

Joshua Goodall wrote:
> 
> Primarily for my own use I have just been through the source and made a
> one-line overview for each source file. I suspect I have it partially
> wrong, particularly with respect to network.c, protocol.c, groups.c and
> membership.c. I'd appreciate it if someone who "knows the source" can
> correct me.
> 
> This is what I have:
> 
> 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        manages group membership

  groups.c        process group membership state machine, extended virtual synchrony (group level),
                  and notification.

> log.c           write log messages to file
> membership.c    network membership state machine including ring protocol

  membership.c    daemon membership state machine, extended virtual synchrony (daemon level), 
                  and notification.

> memory.c        typed&pooled memory object manager
> message.c       message object data access functions

> network.c       implement forwarding choices of protocol.c, call data_link.c

  network.c       inter-segment routing and dissemination.

> protocol.c      implement reliability & ordering

  protocol.c      robust implementation of the Totem ring protocol, extended virtual synchrony (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
> s.c             spamming tool
> arch.c          dummy strerror for SunOS
> auth-pword.c    acp_ops for cleartext password authentication     } unused?
> auth-pword-client.c acp_ops for cleartext password authentication }
> 
> Regards
> 
> Joshua
> 
> _______________________________________________
> Spread-users mailing list
> Spread-users at lists.spread.org
> http://lists.spread.org/mailman/listinfo/spread-users





More information about the Spread-users mailing list