Github

Download version 1.4.6: Windows or Linux

Network Library: Eiffel Remote Object Server (EROS)

An implementation of an experimental XML orientated remote procedure call protocol.

ECF Instructions

When including the ECF eros.ecf in your project it is necessary to define a custom variable eros_server_enabled. To build a server application set the value to true. To build a client application set value to false.

ECF: eros.ecf

Directory: library/network/eros

[ . ]

. /buildable-result

. /client

. /object-build

. /parse

. /server

. /server/UI

. /server/thread-communication

[ . ]

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLER

Object to handle remote procedure call requests for the duration of a session. A session finishes when the procedure set_stopping is called either by the server shutdown process or remotely by the client.

Communication with the client is via either partial binary XML or plaintext XML. This mode is settable in either direction by set_inbound_transmission_type, set_outbound_transmission_type.

Further Information

Click on class link to see notes and client examples.

EL_ROUTINE_CALL_SERVICE_EVENT_LISTENER

Listener for routine call request handling events

EL_EIFFEL_IDENTIFIER

Click on class link to see client examples.

EL_REMOTELY_ACCESSIBLE

EL_REMOTE_CALL_CONSTANTS

Click on class link to see client examples.

EL_REMOTE_CALL_ERRORS

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLER_I

EL_REMOTE_XML_OBJECT_EXCHANGER

buildable-result

EL_EROS_PROCEDURE_STATUS

Procedure execution acknowlegement

EL_EROS_ERROR_RESULT

EL_EROS_STRING_RESULT

client

EL_EROS_CLIENT_CONNECTION

Click on class link to see client examples.

EL_EROS_DEFAULT_ARGUMENT

EL_EROS_REQUEST

EL_REMOTE_PROXY

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLER_PROXY

Click on class link to see client examples.

object-build

EL_ROUTINE_CALL_REQUEST_BUILDABLE_FROM_NODE_SCAN

parse

EL_ROUTINE_CALL_REQUEST_PARSER

parse something like:

{MY_CLASS}.my_routine (1, {E2X_VECTOR_COMPLEX_DOUBLE}, 0.1, 2.3e-15, 'hello')

OR

{MY_CLASS}.my_routine

Note: E2X_VECTOR_COMPLEX_DOUBLE is an example of a place holder for an instance of a class deserialized from XML

EL_ROUTINE_CALL_REQUEST_PARSER_ROOT_BUILDER_CONTEXT

server

EL_REMOTE_ROUTINE_CALL_SERVER_APPLICATION

Click on class link to see client examples.

EL_ROUTINE_CALL_SERVICE_STATS

server/UI

EL_EROS_UI_CONSTANTS

EL_REMOTE_ROUTINE_CALL_SERVER_MAIN_WINDOW

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_SERVER_UI

EL_SERVER_ACTIVITY_METERS

Click on class link to see client examples.

server/thread-communication

EL_REMOTE_CALL_CLIENT_CONNECTION_QUEUE

EL_REMOTE_CALL_CONNECTION_MANAGER_THREAD

Click on class link to see client examples.

EL_REMOTE_CALL_REQUEST_DELEGATING_CONSUMER_THREAD

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLING_THREAD

Click on class link to see client examples.