<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Thu Mar 21 20:35:17 EST 2002 -->
<TITLE>
Daemon (java-neuralnet API)
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Daemon (java-neuralnet API)";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/openai/ai/agent/Agent.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/openai/ai/agent/DaemonDescription.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Daemon.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
net.openai.ai.agent</FONT>
<BR>
Class  Daemon</H2>
<PRE>
java.lang.Object
  |
  +--<B>net.openai.ai.agent.Daemon</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../net/openai/ai/agent/AgentConstants.html">AgentConstants</A></DD>
</DL>
<HR>
<DL>
<DT>public final class <B>Daemon</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../net/openai/ai/agent/AgentConstants.html">AgentConstants</A></DL>

<P>
This is the "portal" that allows the transmission of Agents between hosts.
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_AGENTS">OPTION_AGENTS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify the list of agents to start.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_CONFIG">OPTION_CONFIG</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify the XML configuration file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_LOG">OPTION_LOG</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify the output log file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_PORT">OPTION_PORT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify the port.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_SERVICES">OPTION_SERVICES</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify the list of services to start.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#OPTION_VERBOSE">OPTION_VERBOSE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The command-line option to specify that the output should be echoed
         to stdout as well.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_net.openai.ai.agent.AgentConstants"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from interface net.openai.ai.agent.<A HREF="../../../../net/openai/ai/agent/AgentConstants.html">AgentConstants</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/openai/ai/agent/AgentConstants.html#AGENT_CONTINUE">AGENT_CONTINUE</A>, <A HREF="../../../../net/openai/ai/agent/AgentConstants.html#AGENT_RETURN_TO_SENDER">AGENT_RETURN_TO_SENDER</A>, <A HREF="../../../../net/openai/ai/agent/AgentConstants.html#AGENT_START">AGENT_START</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getAgentCount()">getAgentCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of active agents for this Daemon.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getDaemonPorts()">getDaemonPorts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of ports that Daemons are running on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/openai/ai/agent/DaemonDescription.html">DaemonDescription</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getDescription()">getDescription</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a description of the Daemon as a DaemonDescription.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getHostIP()">getHostIP</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host IP for the local host that the Daemon is running on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getHostName()">getHostName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the hostname for the local host that the Daemon is running on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../net/openai/ai/agent/Daemon.html">Daemon</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getInstance(int)">getInstance</A></B>(int&nbsp;port)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an instance of a Daemon running on a particular port.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.io.PrintStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getLogStream()">getLogStream</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a handle to the PrintStream that the Daemon will be printing
 to.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getPort()">getPort</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the port that the Daemon is running on.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/openai/ai/agent/DaemonService.html">DaemonService</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#getServices()">getServices</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of active services associated with this Daemon.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main entry point for the OsMoSys application.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#shutdown()">shutdown</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shuts down the Daemon.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#startAgent(net.openai.ai.agent.Agent)">startAgent</A></B>(<A HREF="../../../../net/openai/ai/agent/Agent.html">Agent</A>&nbsp;agent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts an agent in its own Thread.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#startDaemon(java.util.Hashtable)">startDaemon</A></B>(java.util.Hashtable&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts up a Daemon with the given options contained in the Hashtable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/openai/ai/agent/Daemon.html#startService(net.openai.ai.agent.DaemonService)">startService</A></B>(<A HREF="../../../../net/openai/ai/agent/DaemonService.html">DaemonService</A>&nbsp;service)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starts a service in its own Thread.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="OPTION_PORT"><!-- --></A><H3>
OPTION_PORT</H3>
<PRE>
public static final java.lang.String <B>OPTION_PORT</B></PRE>
<DL>
<DD>The command-line option to specify the port.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_PORT">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="OPTION_AGENTS"><!-- --></A><H3>
OPTION_AGENTS</H3>
<PRE>
public static final java.lang.String <B>OPTION_AGENTS</B></PRE>
<DL>
<DD>The command-line option to specify the list of agents to start.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_AGENTS">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="OPTION_SERVICES"><!-- --></A><H3>
OPTION_SERVICES</H3>
<PRE>
public static final java.lang.String <B>OPTION_SERVICES</B></PRE>
<DL>
<DD>The command-line option to specify the list of services to start.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_SERVICES">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="OPTION_CONFIG"><!-- --></A><H3>
OPTION_CONFIG</H3>
<PRE>
public static final java.lang.String <B>OPTION_CONFIG</B></PRE>
<DL>
<DD>The command-line option to specify the XML configuration file.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_CONFIG">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="OPTION_LOG"><!-- --></A><H3>
OPTION_LOG</H3>
<PRE>
public static final java.lang.String <B>OPTION_LOG</B></PRE>
<DL>
<DD>The command-line option to specify the output log file.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_LOG">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="OPTION_VERBOSE"><!-- --></A><H3>
OPTION_VERBOSE</H3>
<PRE>
public static final java.lang.String <B>OPTION_VERBOSE</B></PRE>
<DL>
<DD>The command-line option to specify that the output should be echoed
         to stdout as well.  This option is automatically enabled if no logging
         file is given.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.openai.ai.agent.Daemon.OPTION_VERBOSE">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getInstance(int)"><!-- --></A><H3>
getInstance</H3>
<PRE>
public static final <A HREF="../../../../net/openai/ai/agent/Daemon.html">Daemon</A> <B>getInstance</B>(int&nbsp;port)
                                throws java.io.IOException</PRE>
<DL>
<DD>Returns an instance of a Daemon running on a particular port.  If a
 Daemon is already running on that port, it is returned.  If there is
 no Daemon running, a new one is started.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The Daemon running on the given port.
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getDaemonPorts()"><!-- --></A><H3>
getDaemonPorts</H3>
<PRE>
public static final int[] <B>getDaemonPorts</B>()</PRE>
<DL>
<DD>Returns a list of ports that Daemons are running on.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A list of ports that known Daemons are running on in this VM.</DL>
</DD>
</DL>
<HR>

<A NAME="getHostIP()"><!-- --></A><H3>
getHostIP</H3>
<PRE>
public static final java.lang.String <B>getHostIP</B>()</PRE>
<DL>
<DD>Returns the host IP for the local host that the Daemon is running on.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The host IP for the local host.</DL>
</DD>
</DL>
<HR>

<A NAME="getHostName()"><!-- --></A><H3>
getHostName</H3>
<PRE>
public static final java.lang.String <B>getHostName</B>()</PRE>
<DL>
<DD>Returns the hostname for the local host that the Daemon is running on.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The hostname for the local host.</DL>
</DD>
</DL>
<HR>

<A NAME="getPort()"><!-- --></A><H3>
getPort</H3>
<PRE>
public final int <B>getPort</B>()</PRE>
<DL>
<DD>Returns the port that the Daemon is running on.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The port for the Daemon.</DL>
</DD>
</DL>
<HR>

<A NAME="getServices()"><!-- --></A><H3>
getServices</H3>
<PRE>
public final <A HREF="../../../../net/openai/ai/agent/DaemonService.html">DaemonService</A>[] <B>getServices</B>()</PRE>
<DL>
<DD>Returns a list of active services associated with this Daemon.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A list of active DaemonServices.</DL>
</DD>
</DL>
<HR>

<A NAME="getDescription()"><!-- --></A><H3>
getDescription</H3>
<PRE>
public final <A HREF="../../../../net/openai/ai/agent/DaemonDescription.html">DaemonDescription</A> <B>getDescription</B>()</PRE>
<DL>
<DD>Returns a description of the Daemon as a DaemonDescription.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>A DaemonDescription object describing the Daemon.</DL>
</DD>
</DL>
<HR>

<A NAME="getLogStream()"><!-- --></A><H3>
getLogStream</H3>
<PRE>
public final java.io.PrintStream <B>getLogStream</B>()</PRE>
<DL>
<DD>Returns a handle to the PrintStream that the Daemon will be printing
 to.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The PrintStream that the Daemon will print to.</DL>
</DD>
</DL>
<HR>

<A NAME="startService(net.openai.ai.agent.DaemonService)"><!-- --></A><H3>
startService</H3>
<PRE>
public final void <B>startService</B>(<A HREF="../../../../net/openai/ai/agent/DaemonService.html">DaemonService</A>&nbsp;service)</PRE>
<DL>
<DD>Starts a service in its own Thread.  Alternatively, the
 <code>startAgent</code> method can be used, but that will simply check
 the type and call the <code>startService</code> method.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>service</CODE> - The DaemonService to start.</DL>
</DD>
</DL>
<HR>

<A NAME="startAgent(net.openai.ai.agent.Agent)"><!-- --></A><H3>
startAgent</H3>
<PRE>
public final void <B>startAgent</B>(<A HREF="../../../../net/openai/ai/agent/Agent.html">Agent</A>&nbsp;agent)</PRE>
<DL>
<DD>Starts an agent in its own Thread.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>agent</CODE> - The Agent to start.</DL>
</DD>
</DL>
<HR>

<A NAME="getAgentCount()"><!-- --></A><H3>
getAgentCount</H3>
<PRE>
public final int <B>getAgentCount</B>()</PRE>
<DL>
<DD>Returns the number of active agents for this Daemon.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="shutdown()"><!-- --></A><H3>
shutdown</H3>
<PRE>
public final void <B>shutdown</B>()</PRE>
<DL>
<DD>Shuts down the Daemon.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="startDaemon(java.util.Hashtable)"><!-- --></A><H3>
startDaemon</H3>
<PRE>
public static final void <B>startDaemon</B>(java.util.Hashtable&nbsp;options)
                              throws java.io.IOException,
                                     java.lang.IllegalArgumentException</PRE>
<DL>
<DD>Starts up a Daemon with the given options contained in the Hashtable.
 All options must be stored in the Hashtable as Strings.
 <br>
 <b>FIXME: add more comments.</b>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DD><CODE>java.io.IOException</CODE>
<DD><CODE>java.lang.IllegalArgumentException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(java.lang.String[]&nbsp;args)
                 throws java.lang.Exception</PRE>
<DL>
<DD>The main entry point for the OsMoSys application.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/openai/ai/agent/Agent.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/openai/ai/agent/DaemonDescription.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Daemon.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
Copyright - 2001 OpenAI Labs. All Rights Reserved.
</BODY>
</HTML>
