Filled in some of the CCS functions. Changed Makefile and manual.tex to
authorJeffrey Wright <jmwrght1@uiuc.edu>
Tue, 27 Jul 1999 21:04:39 +0000 (21:04 +0000)
committerJeffrey Wright <jmwrght1@uiuc.edu>
Tue, 27 Jul 1999 21:04:39 +0000 (21:04 +0000)
generate the index.

doc/converse/Makefile
doc/converse/ccs.tex
doc/converse/manual.tex

index 07f77a0ad904993cfeca93c987598f58063cb8b2..e480aabc8eaa4b39d3ecc939548abc8580ffe3cb 100644 (file)
 # REVISION HISTORY:
 #
 # $Log$
-# Revision 1.10  1999-07-15 23:24:06  jmwrght1
+# Revision 1.11  1999-07-27 21:04:39  jmwrght1
+# Filled in some of the CCS functions.  Changed Makefile and manual.tex to
+# generate the index.
+#
+# Revision 1.10  1999/07/15 23:24:06  jmwrght1
 # Added the chapter on CCS to the Converse manual.  At this point, it is
 # basically copied verbatim from the html file in the tech notes function.
 # I need to fix some of the tex code (still learning this stuff) and elaborate
@@ -60,6 +64,7 @@ thsync.tex ccs.tex
 ps:
        latex manual.tex
        latex manual.tex
+       makeindex -o index.tex manual.idx
        latex manual.tex
        dvips -o manual.ps manual.dvi
 
index 79f7c9a4387fe43c2116653f6fae7ffd964c4047..314562a8727f89751cd627578d91fefd9cea5311 100644 (file)
@@ -1,31 +1,27 @@
 \chapter{Converse Client-Server Interface}
 
-This note attempts at explaining the design of CCS module of
-Converse. This module is responsible for enabling parallel
-servers to be written using Converse. Currently, this module
-will be implemented only on network of workstations. Other
-parallel architectures will follow.
-
-CCS module is split into two parts. One part consists of
-functions that can be used in Converse programs which act as
-servers. The other part consists of functions that can be used
-with clients that try to connect to servers written using
-CCS. The following sections describe both these parts. {\tt conv-host} 
-is sometimes also referred to as {\tt server-host} 
-in order to distinguish it from the individual converse processes which 
-are sometimes referred to as {\tt server-processes}. Together, the 
-{\tt server-host} and the {\tt  server-processes} constitute a
-server. In general, the client does not need to know the
-difference.
+This note attempts at explaining the design of CCS module of Converse. This
+module is responsible for enabling parallel servers to be written using
+Converse. Currently, this module will be implemented only on network of
+workstations. Other parallel architectures will follow.
+
+The CCS module is split into two parts. One part consists of functions that can
+be used in Converse programs which act as servers. The other part consists of
+functions that can be used with clients that try to connect to servers written
+using CCS. The following sections describe both these parts. {\tt conv-host} is
+sometimes also referred to as {\tt server-host} in order to distinguish it from
+the individual converse processes which are sometimes referred to as {\tt
+server-processes}. Together, the {\tt server-host} and the {\tt
+server-processes} constitute a server. In general, the client does not need to
+know the difference.
 
 
 \section{CCS: Server-Side}
 
-
 On the network of workstations, any converse program is started using
 \begin{quotation} conv-host pgmname +pN conv-host-opts pgm-opts \end{quotation}
 In addition to the original options, now conv-host accepts one more option:
-{\tt ++server}. Currently this option makes conv-host print out its own
+{\tt ++server}.  Currently this option makes conv-host print out its own
 (randomly allocated) port number, which can then be used to connect to it from
 the client. Note that this is the same port number over which the processes
 belonging to the server contact conv-host (for {\tt CmiPrintf} etc.)
@@ -33,8 +29,8 @@ belonging to the server contact conv-host (for {\tt CmiPrintf} etc.)
 In addition to the usual commands (aset, aget etc.), conv-host now accepts one
 more command {\tt getinfo} over the abovementioned port. This command is issued
 only by the client and not by any of the constituent server processes. The
-response to {\tt getinfo} command is as follows:
-\["info" \, N \, P_{0} \,  P_{1} \, .. \, P_{N} \, IP_{0} \, IP_{1} \, .. \, 
+response to {\tt getinfo} command is as follows: 
+\[info \, N \, P_{0} \, P_{1} \, .. \, P_{N} \, IP_{0} \, IP_{1} \, .. \,
 IP_{N} \, Port_{0} \, Port_{1} \, .. \, Port_{N} \]
 
 Where \(N\)  is the number of SMP nodes, \(P_{i}\)  are number of processors in
@@ -52,8 +48,8 @@ In the server-processes, a new type of handler mechanism is introduced. These
 handlers have a character string associated with it that identifies the handler
 function. These handlers are registered using a {\tt  CcsRegisterHandler()}.
 The handler index returned by {\tt  CcsRegisterhandler() } can be used for
-normal remote invocation too. ({\tt CcsRegisterHandler} internally calls 
-{\tt CmiRegisterHandlerLocal}.)
+normal remote invocation too. ({\tt CcsRegisterHandler} internally calls
+\linebreak {\tt CmiRegisterHandlerLocal}.)
 
 Handler functions responsible for remote requests have the same syntax and
 semantics as the normal Converse handlers. However, in the handler function
@@ -65,12 +61,38 @@ Once the server process gets hold of IP and port of the caller, it can use that
 anytime for replying to the client using {\tt  CcsSendReply } function.
 
 \function{void CcsInit(void);} 
+\index{CcsInit}
+\desc{Initializes some internal variables that CCS uses.}
+
 \function{int CcsRegisterHandler(char *id, CmiHandlerFn fn);}
+\index{CcsRegisterHandler}
+\desc{Register the handler function {\tt fn} with the handler identified by
+{\tt id}.  Returns the id number of the handler.}
+
 \function{void CcsUseHandler(char *id, int hdlr);}
+\index{CcsUseHandler}
+\desc{Add the handler name specified by {\tt id} to the list of handlers,
+with the handler number specified by {\tt hdlr}.  This function is used by
+{\tt CcsRegisterHandler()}}
+
 \function{int CcsEnabled(void);}
+\index{CcsEnabled}
+\desc{Returns 1 if CCS is enabled}
+
 \function{int CcsIsRemoteRequest(void);}
-\function{int CcsCallerId(int *pip, int *pport);}
+\index{CcsIsRemoteRequest}
+\desc{Returns non-zero if the caller is remote.}
+
+\function{void CcsCallerId(int *pip, int *pport);}
+\index{CcsCallerId}
+\desc{Assigns the caller's IP addres to {\tt pip} and the port number to 
+{\tt pport}.}
+
 \function{void CcsSendReply(int ip, int port, int size, void *msg);}
+\index{CcsSendReply}
+\desc{Send a message to the CCS client with the IP address and port specified
+by {\tt ip} and {\tt port}.  {\tt size} indicates the number of bytes in the
+message, which is referenced by the pointer {\tt msg}.}
 
 \section{CCS: Client-Side}
 
@@ -92,14 +114,33 @@ free to choose whatever is appropriate. All functions return {\tt  -1 } on
 error.
 
 \function{int CcsConnect(CcsServer *svr);}
+\index{CcsConnect}
+
 \function{int CcsNumNodes(CcsServer *svr);}
+\index{CcsNumNodes}
+
 \function{int CcsNumPes(CcsServer *svr);}
+\index{CcsNumPes}
+
 \function{int CcsNodeFirst(CcsServer *svr, int node);}
+\index{CcsNodeFirst}
+
 \function{int CcsNodeSize(CcsServer *svr,int node);}
+\index{CcsNodeSize}
+
 \function{int CcsSendRequest(CcsServer *svr, char *hdlrID, int pe, uint size, void *msg);}
+\index{CcsSendRequest}
+
 \function{int CcsRecvResponse(CcsServer *svr, uint maxsize, void *recvBuffer);}
+\index{CcsSendRequest}
+
 \function{int CcsProbe(CcsServer *svr);}
+\index{CcsProbe}
+
 \function{int CcsResponseHandler(CcsServer *svr, CcsHandlerFn fn);}
+\index{CcsResponseHandler}
+
 \function{int CcsFinalize(CcsServer *svr);}
+\index{CcsFinalize}
 
 
index 8777467b475425d607425de06cc6e657ef4b618e..bbfba75df20e108d02336f7a1f42f73013d9cd9a 100644 (file)
@@ -71,5 +71,7 @@ Brunner and Laxmikant Kale.
 \input{threads}
 \input{conditions}
 \input{ccs}
+\input{index}
+
 
 \end{document}