[BACK]Return to ox-messages.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / ascm2001p

File: [local] / OpenXM / doc / ascm2001p / ox-messages.tex (download)

Revision 1.3, Thu Jun 21 03:09:46 2001 UTC (22 years, 11 months ago) by noro
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9
Changes since 1.2: +9 -8 lines

p3l10 Removed  [ Header | Body ]
p3l14 Modified.
p4l9 OX_COMMAND -> {\tt OX_...}
p4l-15 Added an explanation of SM_pop*.
p5l1 Renamed the subsection title.
p7l2,l4 Unified the representation.
p7-3 Specified the number of Figure 2. (XXX)
p8l6 When->when.

%%$OpenXM: OpenXM/doc/ascm2001p/ox-messages.tex,v 1.3 2001/06/21 03:09:46 noro Exp $

\section{OX messages}

An OX message for TCP/IP is a byte stream consisting of
a header and a body.
%\begin{tabular}{|c|c|}
%\hline
%Header	& \hspace{10mm} Body \hspace{10mm} \\
%\hline
%\end{tabular}.
The header consists of two signed 32 bit integers.
The first one is an OX tag 
and the second one is a serial number of the OX message.
%Negative numbers are expressed by the two's complement.
%Several byte orders including the network byte order
%are allowed and the byte order is determined as a part of
%the establishment of a connection. See Section \ref{secsession} for details.
The OX messages are classified into three types:
DATA, COMMAND, and SPECIAL.
%We have currently the following general tags for the OX messages:
Typical OX tags are 
\verb+OX_COMMAND+, \verb+OX_DATA+, \verb+OX_DATA_DATA_OPENMATH_XML+
and \verb+OX_SYNC_BALL+. The last one belongs to the SPECIAL category.

%\begin{verbatim}
%#define	OX_COMMAND               513  // COMMAND
%#define	OX_DATA	                 514  // DATA
%#define OX_SYNC_BALL             515  // SPECIAL
%#define OX_DATA_WITH_LENGTH      521  // DATA
%#define OX_DATA_OPENMATH_XML     523  // DATA
%#define OX_DATA_OPENMATH_BINARY  524  // DATA
%#define OX_DATA_MP               525  // DATA
%\end{verbatim}

%A new OX tag may be added.
%The new tag should be classified into DATA or COMMAND.
%For example, \verb+ OX_DATA_ASIR_LOCAL_BINARY +  was added recently
%to send internal serialized objects of Asir via the OpenXM protocol.
%This is a tag classified to DATA.
%See the web page of OpenXM to add a new tag \cite{openxm-web}.

%An OpenXM client admit that its own command sends some OX messages
%sequentially at once.  
%
%For example, the asir command
%{\tt ox\_execute\_string(P, "Print[x+y]")} sends an OX data message
%{\tt (OX\_DATA, (CMO\_STRING, "Print[x+y]"))} and an OX command message
%{\tt (OX\_COMMAND, (SM\_executeStringByLocalParser))} to an OpenXM
%server.