RPC support framework

RPC is basically separated in 2 parts. One is message marshalling and other one is transporting. Following sections and libraries provide some framework for generic use.

Message framework

This library provides generic functions for marshalling message.

These generic function will be used transport layer to marshall or unmarshall messages.

Http transport

Currently there is no generic transport framework and support HTTP transport.

For future, we may provide more generic way to send/receive request and response.

This library provides procedures and generic function of HTTP transport for RCP

.

Send given message to url and returns 3 values, http status, header and response.

If the keyword argument unmarshall? is #f then the returning response value will not be unmarshalled.

options will be passed to http-request procedure.

Http transport hook

Returns http method. Default implementation returns POST

.

Returns content type. Default implementation returns application/octet-stream

.

Returns http sender. Default implementation returns http-blob-sender with marshalled request

.

Returns http receiver. Default implementation returns http-binary-receiver

.

Returns a marker type to be used rpc-http-unmarshall-message. Default implementation returns given request itself

.

Unmarshall the given body according to the given type. Default implementation ignores header and passes type and body to rpc-unmarshall-message.