HPlogo DCE for the HP e3000 > Chapter 6 Introduction to RPC

Runtime Library

MPE documents

Complete PDF
Table of Contents
Index

Private Client Sockets


Previously a common pool of sockets was shared by concurrent RPC requests. Making this concurrency work requires that there be a "helper" thread created to read from all of the open sockets, passing received data onto the call thread for which it is intended. Now with "Private client sockets" there are a couple of sockets (2/3) which will be used only for individual requests (private to the request thread). This reduces the overhead of "helper" thread in case of small applications. However, when we run out of private sockets, the sharing of sockets comes into effect.

Serviceability


This is another new feature, which has been added to RPC runtime. This feature logs messages during the runtime to a specified log file. The level of the messages and the components can be configured using the routing file (/opt/dcelocal/var/svc/routing).

This feature will be helpful during analysis of a problem.

By default the routing file is picked from "/opt/dcelocal/var/svc/routing". The DCE_SVC_ROUTING_FILE environment variable can be used to name an alternate location for the file.

The various switches that can be used are as below:

"general" "mutex" "xmit" "recv" "dg_state" "cancel" "orphan" "cn_state" "cn_pkt" "pkt_quotas" "auth" "source" "stats" "mem" "mem_type" "dg_pktlog" "thread_id" "timestamp" "cn_errors" "conv_thread" "pid" "atfork" "inherit" "dg_sockets" "timer" "threads" "server_call" "nsi" "dg_pkt" "libidl".

The level of messaging ranges from 0-9, where level 9 is the highest level and gives the maximum details. The file to which the logs should be redirected can also be configured. For example: for the RPC, if we want to generate log files with "general" and "cn_pkt" switch enabled at level 9 and the logs to be written to a file named after the process-id of the process, the line would be something like:

rpc:general.9,cn_pkt,9:FILE:/tmp/%ld.log

Exception Handling


The new version RPC 1.2.1 supports the exception-handling feature of RPC. Now, the application developer can use the exception handling routines (TRY, CATCH, CATCH-ALL, etc.).




Chapter 6 Introduction to RPC


DCE-IDL Compiler for RPC 1.2.1