|
bool | fwRPC_worker_isRunning () |
|
int | fwRPC_worker_initialize (int &workerId) |
|
private void | _fwRPC_worker_dbg_report () |
|
int | fwRPC_worker_stop () synchronized(_g_fwRPC_worker_activeRequests) |
|
private void | _fwRPC_worker_hdlState (anytype ctx, string project, string name, anytype msg) |
|
private void | _fwRPC_worker_hdlRequest (anytype ctx, string project, string name, anytype msg) |
|
private void | _fwRPC_worker_hdlCancel (anytype ctx, string project, string name, anytype msg) |
|
private void | _fwRPC_worker_startTick () |
|
private void | _fwRPC_worker_processJobRequest (dyn_mixed request, dyn_mixed func) synchronized(_g_fwRPC_worker_this) |
|
private int | _fwRPC_worker_executeFunction (dyn_mixed request, dyn_mixed func) |
|
private void | _fwRPC_worker_executeFunction_run (string stubname, anytype ref, anytype params) |
|
private void | _fwRPC_worker_stopJob (anytype hdl, int status) |
|
private void | _fwRPC_worker_processJobCompletion (anytype hdl) |
|
private void | _fwRPC_worker_offsetJobCount (int offset) synchronized(_g_fwRPC_worker_this) |
|
private synchronized void | _fwRPC_worker_processQueue () synchronized(_g_fwRPC_worker_this) |
|
private void | _fwRPC_worker_sendState () |
|
private void | _fwRPC_worker_register_active_request (dyn_mixed request) |
|
private void | _fwRPC_worker_unregister_active_request (dyn_mixed request) |
|
private bool | _fwRPC_worker_is_request_active (dyn_mixed request) |
|
This library contains the RPC worker functionality. The worker receives and executes functions. The worker requeires a running instance of the worker manager to be assigned requests. Part of the server-side RPC library.
The worker does not synchronize with the live data from its DP. Therefore, minimal writes should be made to the DP from outside this lib. Note that the Core lib modifies the STATUS field of the worker, but it has no actual affect on the worker's performance.
Should be run in it's own CTRL manager.
- Author
- Victor Rodrigues (CERN, BE-ICS-SDS)