|
6.
|
|
|
Following the length is a delimiter byte, which tells us what kind of element this is. Depending on the element type, there will then follow the number of bytes specified in the length. The byte's high-bit will always be set, so that we can differentiate between it and the length (since the length bytes use 128-base, their high bit will never be set).
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:32
|
|
8.
|
|
|
Given a series of bytes that gave us length N, these are the different delimiter bytes:
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:42
|
|
10.
|
|
|
The following bytes are a list of N elements. Lists may be nested, and a child list counts as only one element to its parent (regardless of how many elements the child list contains).
|
|
|
type: Content of: <html><body><dl><dd>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:48
|
|
43.
|
|
|
The Banana protocol is extendable. Therefore, it supports the concept of profiles. Profiles allow developers to extend the banana protocol, adding new element types, while still keeping backwards compatability with implementations that don't support the extensions. The profile used in each session is determined at the handshake stage (see below.)
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:105
|
|
44.
|
|
|
A profile is specified by a unique string. This specification defines two profiles - <code>"none"</code> and <code>"pb"</code>. The <code>"none"</code> profile is the standard profile that should be supported by all Banana implementations. Additional profiles may be added in the future.
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:112
|
|
48.
|
|
|
The <code>"pb"</code> profile is intended for use with the Perspective Broker protocol, that runs on top of Banana. Basically, it converts commonly used PB strings into shorter versions, thus minimizing bandwidth usage. It starts with a single byte, which tells us to which string element to convert it, and ends with the delimiter byte, <code>0x87</code>, which should not be prefixed by a length.
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:128
|
|
72.
|
|
|
'unpersistable'
|
|
|
type: Content of: <html><body><dl><dd>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:147
|
|
106.
|
|
|
'decref'
|
|
|
type: Content of: <html><body><dl><dd>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:164
|
|
110.
|
|
|
'uncache'
|
|
|
type: Content of: <html><body><dl><dd>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:166
|
|
112.
|
|
|
The initiating side of the connection will be referred to as <q>client</q>, and the other side as <q>server</q>.
|
|
|
type: Content of: <html><body><p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
specifications/banana.xhtml:172
|