[Spread-cvs] commit: r482 - in libspreadutil/trunk: . docs include src

jonathan at spread.org jonathan at spread.org
Mon Mar 5 14:32:04 EST 2012


Author: jonathan
Date: 2012-03-05 14:32:04 -0500 (Mon, 05 Mar 2012)
New Revision: 482

Added:
   libspreadutil/trunk/docs/E_get_time.3
   libspreadutil/trunk/docs/Readme.txt
   libspreadutil/trunk/docs/libspread-util.3
   libspreadutil/trunk/docs/license.txt
Modified:
   libspreadutil/trunk/Changelog
   libspreadutil/trunk/include/alarm.h
   libspreadutil/trunk/include/alarm_types.h
   libspreadutil/trunk/include/memory.h
   libspreadutil/trunk/include/objects_local.h
   libspreadutil/trunk/include/spu_compatibility.h
   libspreadutil/trunk/src/data_link.c
Log:
Update headers to use system.h. Add initial documentation to docs directory

Modified: libspreadutil/trunk/Changelog
===================================================================
--- libspreadutil/trunk/Changelog	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/Changelog	2012-03-05 19:32:04 UTC (rev 482)
@@ -1,4 +1,12 @@
+March 04, 2012
+--------------
+Complete changes to add new independant configure based build system for the library, with support for windows and autoconf systems. 
 
+All header files are now safe to include in other code (do not directly include any configure generated defines) and have been moved to a separate include directory. The system dependant information that is determined by configure is included in the headers under the SPU_ namespace and only for the specific information required for the public API headers. These headers are also usable by the library implementation code by simply including them into .c files after the normal arch.h is included 
+
+Unneeded or obsolete code has been removed from the headers. 
+
+	
 January 30, 2012
 ----------------
 To that baseline we added the following features:

Added: libspreadutil/trunk/docs/E_get_time.3
===================================================================
--- libspreadutil/trunk/docs/E_get_time.3	                        (rev 0)
+++ libspreadutil/trunk/docs/E_get_time.3	2012-03-05 19:32:04 UTC (rev 482)
@@ -0,0 +1,40 @@
+.\" Process this file with
+.\" groff -man -Tascii foo.1
+.\"
+.TH E_get_time 3 "February 2012" LibSpread-Util "User Manuals"
+.SH NAME
+E_get_time \- Return current system time as sec and usec
+.SH SYNOPSIS
+.B #include <spu_events.h>
+.sp
+.BI "sp_time E_get_time( void );"
+
+.SH DESCRIPTION
+.B E_get_time
+returns the current time as a 
+.I sp_time
+structure. This contains the current time in seconds and microseconds. 
+
+The 
+.B E_get_time 
+function does not block.
+
+The sp_time structure consists of
+.BI "long" sec
+.BI "long" usec
+which provide the time since the Unix Epoch. 
+
+.SH "RETURN VALUES"
+Returns the current time on success or exits the program if the time can not be determined. 
+
+.SH BUGS
+None.
+.SH AUTHOR
+Yair Amir <yairamir at cs.jhu.edu>
+.br
+Jonathan Stanton <jonathan at spreadconcepts.com>
+.br
+
+.SH "SEE ALSO"
+.BR libspread-util (3)
+

Added: libspreadutil/trunk/docs/Readme.txt
===================================================================
--- libspreadutil/trunk/docs/Readme.txt	                        (rev 0)
+++ libspreadutil/trunk/docs/Readme.txt	2012-03-05 19:32:04 UTC (rev 482)
@@ -0,0 +1,104 @@
+SPREAD: A Reliable Multicast and Group Communication Toolkit
+-----------------------------------------------------------
+
+/===========================================================================\
+| The Spread Group Communication Toolkit Utility Library                    |
+| Copyright (c) 1993-2012 Spread Concepts LLC                               |
+| All rights reserved.                                                      |
+|                                                                           |
+| The Spread package is licensed under the Spread Open-Source License.      |
+| You may only use this software in compliance with the License.            |
+| A copy of the license can be found at http://www.spread.org/license       |
+|                                                                           |
+| This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF     |
+| ANY KIND, either express or implied.                                      |
+|                                                                           |
+| Spread is developed at Spread Concepts LLC with the support of:	    |
+|    The Distributed Systems and Networks Lab, Johns Hopkins University     |
+|    The Experimental Networked Systems Lab, George Washington University   |
+|                                                                           |
+| Creators:                                                                 |
+|    Yair Amir             yairamir at cs.jhu.edu                              |
+|    Michal Miskin-Amir    michal at spreadconcepts.com                        |
+|    Jonathan Stanton      jstanton at gwu.edu                                 |
+|    John Schultz	   jschultz at spreadconcepts.com			    |
+|                                                                           |
+| Major Contributors:                                                       |
+|    Ryan Caudy           rcaudy at gmail.com - contribution to process groups.|
+|    Claudiu Danilov	  claudiu at acm.org - scalable, wide-area support.    |
+|    Cristina Nita-Rotaru crisn at cs.purdue.edu - GC security.                |
+|    Theo Schlossnagle    jesus at omniti.com - Perl, autoconf, old skiplist.  |
+|    Dan Schoenblum       dansch at dsn.jhu.edu - Java interface.              |
+|                                                                           |
+| Contributors:                                                             |
+|    Ben Laurie	       ben at algroup.co.uk - FreeBSD port and warning fixes   |
+|    Daniel Rall       dlr at finemaltcoding.com - Java & networking fixes,    |
+|                                               configuration improvements  |
+|    Marc Zyngier                        - Windows fixes                    |
+|    Jacob Green       jgreen at spreadconcepts.com - Windows support          |
+|                                                                           |
+| Special thanks to the following for discussions and ideas:                |
+|    Ken Birman, Danny Dolev, Jacob Green, Mike Goodrich, Ben Laurie,       |
+|    David Shaw, Gene Tsudik, Robbert VanRenesse.                           |
+|                                                                           |
+| Partial funding provided by the Defense Advanced Research Projects Agency |
+| (DARPA) and The National Security Agency (NSA) 2000-2004. The Spread      |
+| toolkit is not necessarily endorsed by DARPA or the NSA.                  |
+|                                                                           |
+| WWW    : http://www.spread.org  and  http://www.spreadconcepts.com        |
+| Contact: info at spreadconcepts.com                                          |
+|                                                                           |
+| Version 4.2.0  built 05/March/2012                                        |
+\===========================================================================/
+
+March 05, 2012 Ver 4.2.0 
+-----------------------------
+This is the first release of the Spread Utility Library which consists of 
+software contained in the Spread Group Communication Toolkit in previous 
+releases and is now packaged separately to make it easier to use in other
+projects. 
+
+It contains the following code subsystems from the Spread codebase:
+
+Alarm
+Data_Link
+Memory
+Events
+
+This standalone package has a standard autoconf build system for Unix like 
+systems and also supports Windows builds although it does not currently
+provide Windos Make files or VC project files. 
+
+The detailed changes in this first release (from the internal code in Spread)
+can be found in the Changelog file. 
+
+SOURCE INSTALL:
+---------------
+
+The source install uses autoconf and make to support many Unix and unix-like 
+platforms as well as Windows.
+
+From the directory where you unpacked the Spread source distribution do 
+the following:
+
+1) Run "./configure"
+
+2) Run "make"
+
+3) Run "make install" as a user with rights to write to the selected
+installation location. (/usr/local/{bin,man,sbin,include,lib} by default)
+
+OVERVIEW:
+---------
+
+The libspread-util library provides APIs to suppport logging events, 
+sending and receiving network packets in UDP or TCP, monitoring and
+responding to both time based and file-descriptor based events, and
+managing memory when you need memory pools of fixed size structures. 
+
+CONTACT:
+--------
+
+If you have any questions please feel free to contact:
+
+   spread at spread.org

Added: libspreadutil/trunk/docs/libspread-util.3
===================================================================
--- libspreadutil/trunk/docs/libspread-util.3	                        (rev 0)
+++ libspreadutil/trunk/docs/libspread-util.3	2012-03-05 19:32:04 UTC (rev 482)
@@ -0,0 +1,48 @@
+.\" Process this file with
+.\" groff -man -Tascii foo.1
+.\"
+.TH SP 3 "Februrary 2012" Spread "User Manuals"
+.SH "NAME"
+libspread-util \- Spread Group Communication Toolkit Utility Library
+.SH "SYNOPSIS"
+.SH "DESCRIPTION"
+The Spread 
+.B libspread-util
+library provides APIs that abstract system code commonly used in writing IP network servers. 
+This includes UDP and TCP communication, logging and alarming, memory management and handling
+network IO events as well as timed events. 
+.SH "DATA STRUCTURES"
+.SH "HEADER FILES"
+.I spu_alarm.h
+is the header for logging and alarms and declares the functions and types
+for the Alarm_ interface.  
+
+.I spu_events.h
+declares the types and functions that make up the E_ Event-management 
+interface.
+
+.I spu_memory.h
+declares the functions of the Mem_ interface. 
+
+.I spu_data_link.h
+declares the functions of the DL_ interface for managing UDP and TCP sockets and connections. 
+
+.SH "FILES"
+No files are required for applications using the libspread-util library.
+.SH "DIAGNOSTICS"
+The library will not output any debugging information except in fatal errors.
+The functions return standard error codes and any specific return values
+are documented in the header files and man pages. 
+
+.SH "BUGS"
+None currently known. The libspread-util library is unknown if it is thread-safe or not. 
+.SH AUTHOR
+Yair Amir <yairamir at cs.jhu.edu>
+.PP
+Jonathan Stanton <jonathan at spreadconcepts.com>
+.PP
+Spread Project <spread at spread.org>
+.SH "SEE ALSO"
+.BR E_get_time (3)
+
+

Added: libspreadutil/trunk/docs/license.txt
===================================================================
--- libspreadutil/trunk/docs/license.txt	                        (rev 0)
+++ libspreadutil/trunk/docs/license.txt	2012-03-05 19:32:04 UTC (rev 482)
@@ -0,0 +1,68 @@
+Spread Open-Source License -- Version 1.0
+-----------------------------------------
+Copyright (c) 1993-2006 Spread Concepts LLC.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following request and
+   disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following request and
+   disclaimer in the documentation and/or other materials provided
+   with the distribution.
+
+3. All advertising materials (including web pages) mentioning features
+   or use of this software, or software that uses this software, must
+   display the following acknowledgment: "This product uses software
+   developed by Spread Concepts LLC for use in the Spread toolkit. For
+   more information about Spread see http://www.spread.org"
+
+4. The names "Spread" or "Spread toolkit" must not be used to endorse
+   or promote products derived from this software without prior
+   written permission.
+
+5. Redistributions of any form whatsoever must retain the following
+   acknowledgment: "This product uses software developed by Spread
+   Concepts LLC for use in the Spread toolkit. For more information about
+   Spread, see http://www.spread.org"
+
+6. This license shall be governed by and construed and enforced in
+   accordance with the laws of the State of Maryland, without
+   reference to its conflicts of law provisions. The exclusive
+   jurisdiction and venue for all legal actions relating to this
+   license shall be in courts of competent subject matter jurisdiction
+   located in the State of Maryland.
+
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, SPREAD IS PROVIDED
+UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND,
+EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
+THAT SPREAD IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+PURPOSE OR NON-INFRINGING. ALL WARRANTIES ARE DISCLAIMED AND THE
+ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE CODE IS WITH
+YOU. SHOULD ANY CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+COPYRIGHT HOLDER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
+NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
+CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY CODE IS
+AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
+THE COPYRIGHT HOLDER OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
+SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES FOR LOSS OF
+PROFITS, REVENUE, OR FOR LOSS OF INFORMATION OR ANY OTHER LOSS.
+
+YOU EXPRESSLY AGREE TO FOREVER INDEMNIFY, DEFEND AND HOLD HARMLESS THE
+COPYRIGHT HOLDERS AND CONTRIBUTORS OF SPREAD AGAINST ALL CLAIMS,
+DEMANDS, SUITS OR OTHER ACTIONS ARISING DIRECTLY OR INDIRECTLY FROM
+YOUR ACCEPTANCE AND USE OF SPREAD.
+
+Although NOT REQUIRED, we at Spread Concepts would appreciate it if
+active users of Spread put a link on their web site to Spread's web
+site when possible. We also encourage users to let us know who they 
+are, how they are using Spread, and any comments they have through 
+either e-mail (spread at spread.org) or our web site at 
+(http://www.spread.org/comments).
+

Modified: libspreadutil/trunk/include/alarm.h
===================================================================
--- libspreadutil/trunk/include/alarm.h	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/include/alarm.h	2012-03-05 19:32:04 UTC (rev 482)
@@ -37,7 +37,7 @@
 #define INC_ALARM
 
 #include <stdio.h>
-#include "arch.h"
+#include "system.h"
 
 /* Type for Alarm realtime handler functions */
 typedef int (alarm_realtime_handler)( int16, int32, char *, size_t, char *, size_t);

Modified: libspreadutil/trunk/include/alarm_types.h
===================================================================
--- libspreadutil/trunk/include/alarm_types.h	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/include/alarm_types.h	2012-03-05 19:32:04 UTC (rev 482)
@@ -44,8 +44,6 @@
 #ifndef INC_ALARM_TYPES
 #define INC_ALARM_TYPES
 
-#include "arch.h"
-
 /* List of type values that are valid for this project.
  * This list can be customized for each user of Alarm library.
  * The defines must be consistent amoung all code that will be compiled together, 

Modified: libspreadutil/trunk/include/memory.h
===================================================================
--- libspreadutil/trunk/include/memory.h	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/include/memory.h	2012-03-05 19:32:04 UTC (rev 482)
@@ -36,7 +36,7 @@
 #ifndef MEMORY_H
 #define MEMORY_H
 
-#include "arch.h"
+#include "system.h"
 
 /*******************************************************************************
  * Special Object type used for 

Modified: libspreadutil/trunk/include/objects_local.h
===================================================================
--- libspreadutil/trunk/include/objects_local.h	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/include/objects_local.h	2012-03-05 19:32:04 UTC (rev 482)
@@ -48,7 +48,8 @@
  */
 
 /* Sample declartion of object number
-#define MY_FIRST_OBJ                (FIRST_APPLICATION_OBJECT_TYPE + 1)
+ * first_val = (FIRST_APPLICATION_OBJECT_TYPE + 1)
+#define MY_FIRST_OBJ  = first_val
 */
 
 

Modified: libspreadutil/trunk/include/spu_compatibility.h
===================================================================
--- libspreadutil/trunk/include/spu_compatibility.h	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/include/spu_compatibility.h	2012-03-05 19:32:04 UTC (rev 482)
@@ -49,6 +49,7 @@
 #ifdef SPU_ENABLE_OLD_API
 
 #define Alarm   SPU_Alarm
+#define Alarmp  SPU_Alarmp
 
 #endif
 

Modified: libspreadutil/trunk/src/data_link.c
===================================================================
--- libspreadutil/trunk/src/data_link.c	2012-03-04 19:32:10 UTC (rev 481)
+++ libspreadutil/trunk/src/data_link.c	2012-03-05 19:32:04 UTC (rev 482)
@@ -60,6 +60,7 @@
 #include "alarm.h"
 #include "sp_events.h" /* for sp_time */
 
+
 channel	DL_init_channel( int32 channel_type, int16 port, int32 mcast_address, int32 interface_address )
 {
 	channel			chan;




More information about the Spread-cvs mailing list