struct rcf_rpc_server

Overview

RPC server context More…

#include <rcf_rpc.h>

struct rcf_rpc_server {
    // fields

    rcf_rpc_op op;
    rcf_rpc_op last_op;
    uint64_t start;
    uint16_t seqno;
    uint32_t def_timeout;
    uint32_t timeout;
    bool err_jump;
    bool iut_err_jump;
    bool err_log;
    bool timed_out;
    bool errno_change_check;
    char* nv_lib;
    bool use_libc;
    bool use_libc_once;
    bool last_use_libc;
    bool use_syscall;
    char ta[RCF_MAX_NAME];
    char name[RCF_MAX_NAME];
    int sid;
    uint64_t duration;
    int _errno;
    char err_msg[RPC_ERROR_MAX_LEN];
    uint64_t jobid0;
    char proc[RCF_MAX_NAME];
    bool silent;
    bool silent_default;
    bool silent_pass;
    bool silent_pass_default;
    char** namespaces;
    size_t namespaces_len;
};

Detailed Documentation

RPC server context

Fields

rcf_rpc_op op

Instruction for RPC call

rcf_rpc_op last_op

op value in the last call

uint64_t start

Time when RPC should be called on the server (in milliseconds since Epoch; 0 if it should be called immediately)

uint16_t seqno

Sequence number of the next RPC call. Only incremented by completed calls. The number should not be taken as a globally unique id, it may wrap up relatively quickly

uint32_t def_timeout

Default RPC call timeout in milliseconds

uint32_t timeout

Next RPC call timeout in milliseconds (after call it’s automatically reset to def_timeout)

bool err_jump

Jump if RPC call failed (this may occur if the function called via this RPC returned error, or for other reasons such as segfault or timeout; true by default)

bool iut_err_jump

Jump if RPC call failed because function called via this RPC returned error (true by default; overrides err_jump)

bool err_log

Log error with ERROR log level

bool timed_out

Timeout was received from this RPC server - it is unusable unless someone has restarted it

bool errno_change_check

Check errno changes in the case of success

char* nv_lib

Library name set for the server

bool use_libc

Use libc library instead of set one

bool use_libc_once

Same as use_libc, but one call only

bool last_use_libc

Last value of use_libc_once

bool use_syscall

Try to use syscall with library according to flag use_libc

char ta[RCF_MAX_NAME]

Test Agent name

char name[RCF_MAX_NAME]

RPC server name

int sid

RCF session identifier

uint64_t duration

Call Duration in microseconds

int _errno

error number

char err_msg[RPC_ERROR_MAX_LEN]

Optional error message.

uint64_t jobid0

Identifier of a deferred operation

char proc[RCF_MAX_NAME]

Last called function

bool silent

Perform next RPC call without logging

bool silent_default

Turn on/off RPC calls logging, can be used to change the behavior for a few calls.

bool silent_pass

The same as silent, but error log still will be logged.

bool silent_pass_default

The same as silent_default, applicable for silent_pass.

char** namespaces

Array of namespaces for memory pointers (rpc_ptr).

size_t namespaces_len

Amount of elements in namespaces