| 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. |