bloritsch    2002/09/25 11:03:47

  Modified:    event/src/xdocs menu.xml index.xml
  Added:       event/src/xdocs event.xml
  Log:
  Start on Event documentation
  
  Revision  Changes    Path
  1.2       +28 -9     jakarta-avalon-excalibur/event/src/xdocs/menu.xml
  
  Index: menu.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/event/src/xdocs/menu.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- menu.xml  19 Jul 2002 16:24:40 -0000      1.1
  +++ menu.xml  25 Sep 2002 18:03:47 -0000      1.2
  @@ -1,12 +1,31 @@
   <?xml version="1.0" encoding="UTF-8"?>
  -<project href="http://jakarta.apache.org/avalon/excalibur/event/"; name="Excalibur 
Event"><title>Excalibur Event</title><body>
  +<project href="http://jakarta.apache.org/avalon/excalibur/event/"; name="Excalibur 
Event">
  +  <title>Excalibur Event</title>
  +  <body>
   
  -  <menu name="About">
  -    <item href="index.html" name="Overview"/>
  -    <item href="http://jakarta.apache.org/avalon/excalibur/index.html"; 
name="Excalibur Home"/>
  -    <item href="http://jakarta.apache.org/builds/jakarta-avalon-excalibur/release"; 
name="Download"/>
  -    <item href="api/" name="API Docs"/>
  +    <menu name="About">
  +      <item href="index.html" name="About Event"/>
  +      <item href="http://jakarta.apache.org/avalon/excalibur/index.html"; 
name="Excalibur Home"/>
  +      <item 
href="http://jakarta.apache.org/builds/jakarta-avalon-excalibur/release"; 
name="Download"/>
  +      <item href="api/" name="API Docs"/>
  +    </menu>
   
  -  </menu>
  -
  -</body></project>
  +    <menu name="Overview">
  +      <item href="event.html" name="Event"/>
  + <!--     <item href="command.html" name="Command"/>
  +      <item href="mpool.html" name="MPool"/>
  +      <item href="thread.html" name="Thread"/>
  +      <item href="util.html" name="Util"/>    -->
  +    </menu>
  +<!--
  +    <menu name="How To">
  +      <item href="event-howto.html" name="Use Event Queues"/>
  +      <item href="command-howto.html" name="Use the Command Manager"/>
  +      <item href="mpool-howto.html" name="Use MPool"/>
  +      <item href="thread-howto.html" name="Use Thread Pools"/>
  +      <item href="util-howto.html" name="Use System Util"/>
  +      <item href="cpuparser-howto.html" name="Extend System Util"/>
  +    </menu>
  +  -->
  +  </body>
  +</project>
  
  
  
  1.5       +20 -7     jakarta-avalon-excalibur/event/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/event/src/xdocs/index.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- index.xml 26 Jul 2002 16:07:50 -0000      1.4
  +++ index.xml 25 Sep 2002 18:03:47 -0000      1.5
  @@ -2,7 +2,7 @@
   
   <document>
     <header>
  -    <title>Excalibur Event - Overview</title>
  +    <title>About Excalibur Event</title>
       <authors>
         <person name="Berin Loritsch" email="[EMAIL PROTECTED]"/>
       </authors>
  @@ -12,11 +12,24 @@
         <p>
           This is the Excalibur Event package which includes event queues,
           asynchronous command processing, and the interfaces to support
  -        event based programming.  Fortress uses this project to manage
  -        the components and its pools outside of the direct thread of
  -        execution.  It has been tested, and only a couple of clean up
  -        things need to be done to make this an officially released
  -        package.
  +        event based programming.  Event is heavily influenced by Matt
  +        Welsh's work with the
  +        <fork href="http://www.cs.berkeley.edu/~mdw/proj/seda/";>SEDA 
architecture</fork>.
  +        We forked the portion of his SandStorm server that had to do with
  +        event processing.  From there we cleaned up the API and made it as
  +        generic as we could.
  +      </p>
  +      <p>
  +        The Event package actually has five related sub packages inside
  +        of it.  Event is the basic interfaces for the Queues, Sinks,
  +        Sources, etc.  Command houses code for the CommandManager so that
  +        your code can safely process Commands (a type of event) in the
  +        background.  MPool, short for Managed Pool, houses code for a
  +        pool implementation that manages its size asynchronously so you
  +        don't have to worry about it.  Thread is the thread pool code
  +        which uses MPool to keep track of the threads.  Lastly, Util
  +        provides some basic utilities so that we can programatically
  +        determine the number of processors your hardware has.
         </p>
       </s1>
     </body>
  
  
  
  1.1                  jakarta-avalon-excalibur/event/src/xdocs/event.xml
  
  Index: event.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
    <header>
      <title>Excalibur Event - Event</title>
      <authors>
        <person name="Berin Loritsch" email="[EMAIL PROTECTED]"/>
      </authors>
    </header>
    <body>
      <s1 title="Why Event Was Created">
        <p>
          Event was created out of a desire to express the Staged Event
          Driven Architecture (SEDA) design in an Avalon way.  It has
          grown to be a robust event pipelining library.  We maintained
          the core concepts from the
          <fork href="http://seda.sourceforge.net/";>SandStorm</fork>
          server, and cleaned up the API to have Queues operate in a
          more transactional way.
        </p>
      </s1>
      <s1 title="When To Use Event">
        <p>
          Most of the time, your use of the Event package is only to
          interface to other subsystems.  For instance, the
          <link href="command.html">Command Manager</link> uses the
          Event Queues to receive commands from multiple threads
          simultaneously.
        </p>
        <p>
          You can also use Event when you are developing new systems
          that have loosely coupled, disjunct pieces.  One of the core
          benefits of using event pipelines is that we can easily
          reroute the Queues while the system is running, and not lose
          any events.
        </p>
      </s1>
      <s1 title="Core Concepts">
        <p>
          An Event Pipeline has a set of Sources and Sinks.  A Source
          is where you get more events, or the "dequeue" side of an
          event Queue.  A Sink is where you send events on to the next
          stage, or the "enqueue" side of an event Queue.
        </p>
        <s2 title="Source">
          <p>
            The Source can be blocking or non-blocking.  A blocking
            Source will stop the current thread from processing until
            there are new events to give to it.  A non-blocking Source
            will return an empty set of events immediately if there
            are no more events.
          </p>
        </s2>
        <s2 title="Sink">
          <p>
            The Sink allows you to add events in a variety of ways.
            You can simply add them one at a time, or you can add
            a whole group of events at one time.  The Sink also supports
            a transactional enqueue which means we can push some events
            on to the Sink, but wait to commit or cancel the events
            at a later time.  The Sink will make room for the events,
            but it will not let them pass through until they are officially
            committed.
          </p>
        </s2>
        <s2 title="Queue">
          <p>
            A Queue is merely the union of a Sink and a Source.  A Queue
            will manage the throughput of the events from Sink to Source.
          </p>
        </s2>
        <s2 title="Signals and Messages">
          <p>
            Signals and Messages are special events that provide contextual
            information.  A message will have a string and/or an object
            attached to it.  They are used mainly for reporting purposes,
            or for the begginings of a Messaging Oriented Middleware (MOM)
            implementation.  A Signal is a control event that the Queue,
            and the system react to.
          </p>
        </s2>
      </s1>
    </body>
    <footer>
      <legal>
        Copyright (c) @year@ The Jakarta Apache Project All rights reserved.
        $Revision: 1.1 $ $Date: 2002/09/25 18:03:47 $
      </legal>
    </footer>
  </document>
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to