Tag Range |
Description |
0 |
Invalid. |
1-31 |
Reserved for primitive protocol types. |
32-63 |
Reserved for compound protocol types. |
64-95 |
Reserved for MRPT primitive values. |
96-127 |
Reserved for MRPT compound values. |
128-767 |
Reserved. |
768-1023 |
Currently unusable. |
Tag Value |
Description |
1 |
Negotiation String. |
Tag Value |
Description |
64 |
Integer, required to have a power of 2 size (the
implementation may raise an error if invalid/out of range). |
65 |
Special, single byte {0=false,1=true, 2=null,
3-255 reserved}. |
66 |
Narrow String, UTF-8/ASCII. |
67 |
Wide String, UTF-16. |
68 |
Floating point, 4/8 bytes. |
69 |
Raw Data. Auxhead would consist of: a short, possibly followed by some data related to the type. The LSB of the short will indicate that the short is followed by text defining the content type (mime). |
70 |
Date String, 'YYYY-MM-DD', 'YYYY-MM-DD hh:mm:ss',
'YYYY-MM-DD hh:mm:ss.fff'. |
71 |
Symbolic String, UTF-8. Where supported is interpreted
as a symbol, otherwise it is interpreted as a string. |
72 |
Character, same encoding as Integer. Interpreted
as a character literal where supported, otherwise to be interpreted as an
integer. |
Tag Value |
Description |
32 |
Call, Contents are a: Method-ID (String or Implementation
Dependant Integer); Arguments (Array); and, an Cont-Id (Integer). |
33 |
Return, Contents are a return value, and the Cont-Id
from the call. |
34 |
Error, Contents are the Cont-Id and an Error-String. |
35 |
Pass, Contents are a: Method-ID (String or Implementation
Dependant Integer); Arguments (Array). A pass is a call that does not return
a value. |
Error Key |
Error Specifics |
Description |
unknown-type |
<tag-value> |
Sent if an unknown type value was recieved. May
not be sent for implementation or context specific types. |
invalid-encoding |
<tag-value> |
Sent if a known type was recieved, but the encoding
is invalid. |
type-check |
<cont-id>/'-' |
Sent if the arguments for a called function do not
match what the function accepts. |
Tag Value |
Description |
96 |
Array of values, Contents are: Context:Compound:1, Wraps the values; Context:Compound:2, Allows a terminal value (to be ignored on languages that don't support them), this is the value usually found in the tail of a list, ie: '(x y . z)'. Default interpretation is that of a list (in languages that support them). |
97 |
Structure, Contents are an array of members.
Each member is of the type Context:Compound:1 and contains: a name string
and a value object. |
98 |
Link, Contents are: Node-URL (String), Object-ID
(String, Integer), Mode (Integer) Mode is even for bi-directional passes and odd for unidirectional ones. The next 7 bits define what the object is, for now: 0=unused, 1=generic uni-directional, 2=generic bi-directional, 3=process, 4=function. |
99 |
Vector Array, Same encoding as array. Interpreted
as a vector in capable languages, otherwise to be interpreter as a normal
array. |
Form |
Description |
?<var> |
Request the value of the variable on the other
end. |
=<var> <val> |
Response to a request for a value/assignment,
or to declare some property. |
!<var> <val> |
Try to assign a value on the other end. |
E<ext> |
Try to enable an extension. |
S<ext> |
Extension Enabled. |
F<ext> <reason...> |
Extension Failed, reason is an implementation
dependant string. |
K<tag> <name> |
tag is the tag value, name is the name of the
tag. This is a possible response of enabling extensions. |