| The Casbah Project: APIs and Reference Manual: Developer's Release 1 | ||
|---|---|---|
| Prev | Lightweight Distributed Objects (LDO): Request Encoding as Objects | Next |
All Request Encoding as Objects implementations must support the following required operations.
Table 2. hello operation
Field | Use / Value |
|---|---|
operation | "reo:hello" |
version | Version of Request Encoding as Objects protocols supported. |
server-id | UUID, this server's unique id. |
server-addr | URL, address of server. |
Table 3. call operation
Field | Use / Value |
|---|---|
operation | "reo:call" |
call-id | UUID, for async operations |
object | UUID, object's unique id. |
method | STRING, method name. |
args | LIST of ANY, arguments to method. |
Table 4. result operation
Field | Use / Value |
|---|---|
operation | "reo:result" |
call-id | UUID, for async operations |
result | ANY, result of method call. |
error | ANY, error code/message if error occured. |
In a "reo:result", the error key must be present only on an exception, otherwise the call was successful. result may contain any partial results even in the case of an exception. call-id is optional and is used for asynchronous operation.
Table 5. operation-error operation
Field | Use / Value |
|---|---|
operation | "reo:operation-error" |
request | DICTIONARY, failed operation. |
error | ANY, error code/message. |
"reo:operation-error" must be returned when an operation is received that the receiver doesn't know what to do with or finds an error in decoding. The original `request' is passed back unchanged. If no error is provided, it defaults to "Unknown operation".