User`s guide

Cray XMT Programming Environment Users Guide
The LucEndpoint class provides the interface methods that the application uses to
call functions on a remote server.
class LucEndpoint {
public:
/*********************************************
* Shared functions
*********************************************/
// initialize the service and start the client or server thread
virtual luc_error_t startService(uint_t threadCount=1,
uint_t myRequestedPid=PTL_PID_ANY);
// stop the client or server thread and shutdown the service
virtual luc_error_t stopService(void);
// returns the endpoint ID
virtual luc_endpoint_id_t getMyEndpointId(void);
// set per-endpoint configuration values
virtual luc_error_t setConfigValue(luc_config_key_t key, uint64_t value);
// read per-endpoint configuration values
virtual luc_error_t getConfigValue(luc_config_key_t key, uint64_t *value);
/*********************************************
* Client functions
*********************************************/
// client asynchronous RPC
virtual luc_error_t remoteCall(luc_endpoint_id_t serverEndpoint,
luc_service_type_t serviceType,
int serviceFunctionIndex,
void *userData,
size_t userDataLen,
void * userHandle,
LUC_Completion_Handler userCompletionHandler);
// client synchronous RPC
virtual luc_error_t remoteCallSync(luc_endpoint_id_t serverEndpoint,
luc_service_type_t serviceType,
int serviceFunctionIndex,
void *inputData,
size_t inputDataLen,
void *outputData,
size_t *outputDataLen);
/*********************************************
* Server functions
*********************************************/
virtual luc_error_t registerRemoteCall(luc_service_type_t serviceType,
int serviceFunctionIndex,
LUC_RPC_Function_InOut theFunction);
};
148 S247920