Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Network Library: Eiffel Remote Object Server (EROS)

This library has 44 classes.

ECF: eros.ecf

Source code: directory list

EROS (for Eiffel Remote Object Server), is an experimental an XML orientated remote procedure call application framework with an original protocol based purely on XML processing instructions rather that any special XML tags.

Features

Demo Applications

Two demo applications are provided that do signal math including Fourier transformations based on Greg Lee's Numeric Eiffel Library.

  1. signal-math.ecf is a multi-mode command-line application with 2 client modes and 2 server-test modes.
  2. signal-math-server.ecf performs the same calculations as the server mode of demo 1 but is multi-threaded and has a graphical user interface to control the thread logging context visible in terminal console.

Build Notes

When including the 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.

Directory: library/network/eros

[ . ]

. /buildable-result

. /client

. /object-build

. /parse

. /server

. /server/UI

. /server/thread-communication

[ . ]

EL_EIFFEL_IDENTIFIER

Eiffel identifier

Further Information

Click on class link to see client examples.

EL_REMOTELY_ACCESSIBLE

Remotely accessible

Further Information

Click on class link to see client examples.

EL_REMOTE_CALL_CONSTANTS

Remote call constants

Further Information

Click on class link to see client examples.

EL_REMOTE_CALL_ERRORS

Remote call errors

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_REMOTE_ROUTINE_CALL_REQUEST_HANDLER_I

Remote routine call request handler i

EL_REMOTE_XML_OBJECT_EXCHANGER

Remote xml object exchanger

EL_ROUTINE_CALL_SERVICE_EVENT_LISTENER

Listener for routine call request handling events

buildable-result

EL_EROS_ERROR_RESULT

Eros error result

EL_EROS_PROCEDURE_STATUS

Procedure execution acknowlegement

EL_EROS_STRING_RESULT

Eros string result

client

EL_EROS_CLIENT_CONNECTION

Eros client connection

Further Information

Click on class link to see client examples.

EL_EROS_CLIENT_CONNECTION

Eros client connection

Further Information

Click on class link to see client examples.

EL_EROS_DEFAULT_ARGUMENT

Eros default argument

EL_EROS_DEFAULT_ARGUMENT

Eros default argument

EL_EROS_REQUEST

Eros request

EL_EROS_REQUEST

Eros request

EL_REMOTE_PROXY

Remote proxy

Further Information

Click on class link to see client examples.

EL_REMOTE_PROXY

Remote proxy

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLER_PROXY

Remote routine call request handler proxy

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLER_PROXY

Remote routine call request handler proxy

Further Information

Click on class link to see client examples.

object-build

EL_ROUTINE_CALL_REQUEST_BUILDABLE_FROM_NODE_SCAN

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

Routine call request parser root builder context

server

EL_REMOTE_ROUTINE_CALL_SERVER_APPLICATION

Remote routine call server application

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_SERVER_APPLICATION

Remote routine call server application

Further Information

Click on class link to see client examples.

EL_ROUTINE_CALL_SERVICE_STATS

Routine call service stats

EL_ROUTINE_CALL_SERVICE_STATS

Routine call service stats

server/UI

EL_EROS_UI_CONSTANTS

Eros ui constants

EL_EROS_UI_CONSTANTS

Eros ui constants

EL_REMOTE_ROUTINE_CALL_SERVER_MAIN_WINDOW

Remote routine call server main window

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_SERVER_MAIN_WINDOW

Remote routine call server main window

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_SERVER_UI

Remote routine call server ui

EL_REMOTE_ROUTINE_CALL_SERVER_UI

Remote routine call server ui

EL_SERVER_ACTIVITY_METERS

Server activity meters

Further Information

Click on class link to see client examples.

EL_SERVER_ACTIVITY_METERS

Server activity meters

Further Information

Click on class link to see client examples.

server/thread-communication

EL_REMOTE_CALL_CLIENT_CONNECTION_QUEUE

Remote call client connection queue

EL_REMOTE_CALL_CLIENT_CONNECTION_QUEUE

Remote call client connection queue

EL_REMOTE_CALL_CONNECTION_MANAGER_THREAD

Remote call connection manager thread

Further Information

Click on class link to see client examples.

EL_REMOTE_CALL_CONNECTION_MANAGER_THREAD

Remote call connection manager thread

Further Information

Click on class link to see client examples.

EL_REMOTE_CALL_REQUEST_DELEGATING_CONSUMER_THREAD

Remote call request delegating consumer thread

Further Information

Click on class link to see client examples.

EL_REMOTE_CALL_REQUEST_DELEGATING_CONSUMER_THREAD

Remote call request delegating consumer thread

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLING_THREAD

Remote routine call request handling thread

Further Information

Click on class link to see client examples.

EL_REMOTE_ROUTINE_CALL_REQUEST_HANDLING_THREAD

Remote routine call request handling thread

Further Information

Click on class link to see client examples.