Annotation of OpenXM/doc/calc2000/ox-messages.tex, Revision 1.2
1.2 ! noro 1: %%$OpenXM: OpenXM/doc/calc2000/ox-messages.tex,v 1.1.1.1 2000/04/24 04:20:11 noro Exp $
1.1 noro 2:
3: \section{OX messages}
4:
5: An OX message for TCP/IP is a byte stream consisting of
6: a header and a body.
7: \begin{center}
8: \begin{tabular}{|c|c|}
9: \hline
10: Header & \hspace{10mm} Body \hspace{10mm} \\
11: \hline
12: \end{tabular}
13: \end{center}
14: The header consists of two signed 32 bit integers.
15: The first one is an OX tag
16: and the second one is a serial number of the OX message.
17: %Negative numbers are expressed by the two's complement.
18: Several byte orders including the network byte order
19: are allowed and the byte order is determined as a part of
20: the establishment of a connection. See Section \ref{secsession} for details.
21:
22: The OX messages are classified into three types:
1.2 ! noro 23: COMMAND, DATA and SPECIAL.
1.1 noro 24: We have currently the following general tags for the OX messages.
1.2 ! noro 25: \begin{description}
! 26: \item{COMMAND}
! 27: {\tt OX\_COMMAND}
! 28: \item{DATA}
! 29: {\tt OX\_DATA}, {\tt OX\_DATA\_WITH\_LENGTH}, {\tt OX\_DATA\_OPENMATH\_XML},
! 30:
! 31: {\tt OX\_DATA\_OPENMATH\_BINARY} {\tt OX\_DATA\_MP} \item{SPECIAL} {\tt OX\_SYNC\_BALL}
! 32: \end{description}
1.1 noro 33:
34: A new OX tag may be added.
35: The new tag should be classified into DATA or COMMAND.
36: For example, \verb+ OX_DATA_ASIR_LOCAL_BINARY + was added recently
37: to send internal serialized objects of Asir via the OpenXM protocol.
38: This is a tag classified to DATA.
39: See the web page of OpenXM to add a new tag \cite{openxm-web}.
40:
41: %An OpenXM client admit that its own command sends some OX messages
42: %sequentially at once.
43: %
44: %For example, the asir command
45: %{\tt ox\_execute\_string(P, "Print[x+y]")} sends an OX data message
46: %{\tt (OX\_DATA, (CMO\_STRING, "Print[x+y]"))} and an OX command message
47: %{\tt (OX\_COMMAND, (SM\_executeStringByLocalParser))} to an OpenXM
48: %server.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>