diff options
author | lioux <lioux@FreeBSD.org> | 2005-01-14 06:25:46 +0800 |
---|---|---|
committer | lioux <lioux@FreeBSD.org> | 2005-01-14 06:25:46 +0800 |
commit | 5b3d6dfb917d32627bb833e55729d865982c5510 (patch) | |
tree | a09b7352b6b7de538197b5a55b5e73137a498f13 | |
parent | e8507b323aff2123b74925f2145ad30c1f001184 (diff) | |
download | freebsd-ports-gnome-5b3d6dfb917d32627bb833e55729d865982c5510.tar.gz freebsd-ports-gnome-5b3d6dfb917d32627bb833e55729d865982c5510.tar.zst freebsd-ports-gnome-5b3d6dfb917d32627bb833e55729d865982c5510.zip |
o New port seda version 3.0: An Architecture for Highly Concurrent
Server Applications
o Use a custom made ant build.xml for building. Re-written with help
from [1] and originally written by Johnathan James (jjames at
haxwell dot org)
Reviewed by: jrandom [1]
-rw-r--r-- | net/Makefile | 1 | ||||
-rw-r--r-- | net/seda/Makefile | 67 | ||||
-rw-r--r-- | net/seda/distinfo | 2 | ||||
-rw-r--r-- | net/seda/files/build.xml | 55 | ||||
-rw-r--r-- | net/seda/pkg-descr | 24 |
5 files changed, 149 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile index 4258089aa076..a04d00720f39 100644 --- a/net/Makefile +++ b/net/Makefile @@ -676,6 +676,7 @@ SUBDIR += scand SUBDIR += scr_ipfm SUBDIR += sdl_net + SUBDIR += seda SUBDIR += sendfile SUBDIR += ser SUBDIR += serveez diff --git a/net/seda/Makefile b/net/seda/Makefile new file mode 100644 index 000000000000..81498e87ea3c --- /dev/null +++ b/net/seda/Makefile @@ -0,0 +1,67 @@ +# New ports collection makefile for: seda +# Date created: Thu Jan 13 15:45:22 UTC 2005 +# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= seda +PORTVERSION= 3.0 +CATEGORIES= net java +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= ${PORTNAME} +DISTNAME= ${PORTNAME}-release-${VERSION_DATE} + +MAINTAINER= lioux@FreeBSD.org +COMMENT= An Architecture for Highly Concurrent Server Applications + +USE_JAVA= yes +JAVA_VERSION= 1.3+ +USE_ANT= yes +ALL_TARGET= dist + +.ifndef(NOPORTDOCS) +ALL_TARGET+= javadoc +.endif + +JAVADOC_WRKSRC= ${WRKSRC}/build/javadoc +WRKSRC= ${WRKDIR}/${DISTNAME}/${PORTNAME} + +VERSION_DATE= 20020712 + +DOC_FILES= \ + gnutella-graph.gif \ + index.html \ + nbio.html \ + profile.gif \ + sandstorm.html \ + sandstorm.jpg +PORTDOCS= ${DOC_FILES} \ + javadoc + +PLIST_FILES= \ + %%JAVAJARDIR%%/${PORTNAME:L}.jar + +pre-build: +# use our build.xml + @${CP} ${FILESDIR}/build.xml ${WRKSRC} + +do-install: +# jar + @${MKDIR} ${JAVAJARDIR} + @${INSTALL_DATA} ${WRKSRC}/dist/lib/${PORTNAME:L}.jar \ + ${JAVAJARDIR}/ +# docs +.ifndef(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} +. for doc in ${DOC_FILES} + @${INSTALL_DATA} ${WRKSRC}/docs/${doc} ${DOCSDIR} +. endfor + @${MKDIR} ${DOCSDIR}/javadoc +# line taken from textproc/xerces-j maintained by hq@FreeBSD.org + @cd ${JAVADOC_WRKSRC} && \ + ${FIND} . -type d -exec ${MKDIR} "${DOCSDIR}/javadoc/{}" \; && \ + ${FIND} . -not -type d -exec ${INSTALL_DATA} "{}" "${DOCSDIR}/javadoc/{}" \; +.endif + +.include <bsd.port.mk> diff --git a/net/seda/distinfo b/net/seda/distinfo new file mode 100644 index 000000000000..d5b38c98008b --- /dev/null +++ b/net/seda/distinfo @@ -0,0 +1,2 @@ +MD5 (seda-release-20020712.tar.gz) = 4db398b8793bf44403da153fe5812f64 +SIZE (seda-release-20020712.tar.gz) = 326630 diff --git a/net/seda/files/build.xml b/net/seda/files/build.xml new file mode 100644 index 000000000000..2787103dab1a --- /dev/null +++ b/net/seda/files/build.xml @@ -0,0 +1,55 @@ +<!-- Obtained from http://www.haxwell.org/SEDA_Sandstorm_Ant_Build_Script.html --> +<!-- Written by Johnathan James (jjames at haxwell dot org) -2005 --> +<!-- Copyright by Mario S F Ferreira <lioux@FreeBSD.org> 2005- --> +<!-- Copyright by jrandom 2005- --> +<!-- $FreeBSD$ --> +<project name="Build SEDA" default="dist" basedir="."> + <description> + Builds the SEDA 20020712 JAR file + </description> + <!-- set global properties for this build --> + <property name="src" location="src"/> + <property name="build" location="build"/> + <property name="dist" location="dist"/> + + <target name="init"> + <!-- Create the time stamp --> + <tstamp/> + <!-- Create the build directory structure used by compile --> + <mkdir dir="${build}"/> + </target> + + <target name="compile" depends="init" description="compile the source " > + <!-- Compile the java code from ${src} into ${build} --> + <javac srcdir="${src}" destdir="${build}" excludes="**/test/**"/> + </target> + + <target name="dist" depends="compile" description="generate the distribution" > + <!-- Create the distribution directory --> + <mkdir dir="${dist}/lib"/> + + <!-- Put everything in ${build} into the SEDA.jar file --> + <jar jarfile="${dist}/lib/seda.jar" basedir="${build}"/> + </target> + + <target name="javadoc"> + <mkdir dir="${build}" /> + <mkdir dir="${build}/javadoc" /> + <javadoc access="package" + destdir="${build}/javadoc" + use="true" + splitindex="true" + sourcepath="src" + windowtitle="SEDA"> + <fileset dir="." defaultexcludes="yes"> + <include name="**/*.java" /> + </fileset> + </javadoc> + </target> + + <target name="clean" description="clean up" > + <!-- Delete the ${build} and ${dist} directory trees --> + <delete dir="${build}"/> + <delete dir="${dist}"/> + </target> +</project> diff --git a/net/seda/pkg-descr b/net/seda/pkg-descr new file mode 100644 index 000000000000..7e2f647baf81 --- /dev/null +++ b/net/seda/pkg-descr @@ -0,0 +1,24 @@ +[ excerpt from developer's web site with modifications ] + +The goal is to build a system capable of supporting massive concurrency +(on the order of tens of thousands of simultaneous client connections) +and avoid the pitfalls which arise with traditional thread and +event-based approaches. + +SEDA is an acronym for staged event-driven architecture, and +decomposes a complex, event-driven application into a set of stages +connected by queues. This design avoids the high overhead associated +with thread-based concurrency models, and decouples event and thread +scheduling from application logic. By performing admission control +on each event queue, the service can be well-conditioned to load, +preventing resources from being overcommitted when demand exceeds +service capacity. SEDA employs dynamic control to automatically +tune runtime parameters (such as the scheduling parameters of each +stage), as well as to manage load, for example, by performing +adaptive load shedding. Decomposing services into a set of stages +also enables modularity and code reuse, as well as the development +of debugging tools for complex event-driven applications. + +WWW: http://www.eecs.harvard.edu/~mdw/proj/seda/ + +-- lioux@FreeBSD.org |