linuxbox2 / ntirpc

New development on tirpc
Other
24 stars 96 forks source link

NTIRPC - Transport-independent RPC (TI-RPC)

To use this in a CMake-based project, copy cmake/modules/FindNTIRPC.cmake into your project, and add:

find_package(NTIRPC [] [REQUIRED])

where is the minimum version needed (e.g. 1.3.0) and REQUIRED is added if ntirpc is not optional.

LIBTIRPC 0.1 FROM SUN'S TIRPCSRC 2.3 29 Aug 1994

This package contains SunLib's implementation of transport-independent RPC (TI-RPC) documentation. This library forms a piece of the base of Open Network Computing (ONC), and is derived directly from the Solaris 2.3 source.

TI-RPC is an enhanced version of TS-RPC that requires the UNIX System V Transport Layer Interface (TLI) or an equivalent X/Open Transport Interface (XTI). TI-RPC is on-the-wire compatible with the TS-RPC, which is supported by almost 70 vendors on all major operating systems. TS-RPC source code (RPCSRC 4.0) remains available from several internet sites.

This release was a native source release, compatible for building on Solaris 2.3. It had been ported from FreeBSD 5.2.1 to GNU/Linux in 2004.

Applications linked with this release's librpc must link with the United States domestic version of libcrypt in order to resolve the cbc_crypt() and ecb_crypt() functions. These routines are used with Secure RPC however all RPC programs that link with this release's librpc will need to link with the domestic libcrypt.

WHAT'S NEW IN THIS RELEASE: TIRPCSRC 2.3 FROM SUN

The previous release was TIRPCSRC 2.0.

  1. This release is based on Solaris 2.3. The previous release was based on Solaris 2.0. This release contains a siginificant number of bug fixes and other enhancements over TIRPCSRC 2.0.

  2. The RPC library is thread safe for all client-side interfaces (clnt_create, clnt_call, etc.). The server-side interfaces (svc_create, svc_run, etc.) are not thread safe in this release. The server-side interfaces will be made thread safe in the next release of TIRPCSRC. Please see the manual pages for details about which interfaces are thread safe.

  3. As part of the work to make the RPC library thread-safe, rpcgen has been enhanced to generate thread-safe RPC stubs (the -M option). Note that this modifies the call-signature for the stub functions; the procedure calling the RPC stub must now pass to the stub a pointer to an allocated structure where results will be placed by the stub. See the rpcgen manual page and the rpcgen Programming Guide for details.

What's New in ntirpc

Non-cosmetic changes introduced in the ntirpc library include

  1. Bi-directional operation
  2. Full-duplex operation on the TCP (vc) transport
  3. Thread-safe operating modes 3.1 new locking primitives and lock callouts (interface change) 3.2 stateless send/recv on the TCP transport (interface change)
  4. Flexible server integration support
  5. Event channels (remove static arrays of xprt handles, new EPOLL/KEVENT integration)