Comprehensive PowerRPC Feature Set

📋 Function Argument Support

Arbitrary Arguments

Support for any number of function arguments with flexible parameter handling

Directional Parameters

OUT and INOUT arguments for efficient data passing from server to client

Expression Support

C expressions for array sizes, including function calls and conditional expressions

📊 Data Type Support

Custom Types

User-defined types with full type system flexibility

Complex Structures

Support for int, long, double, char, void*, enum, struct, union, and pointers

Advanced Data Structures

2D arrays, variable size arrays, linked lists, trees, and complex nested structures

⚡ Performance & Scalability

Dedicated Servers

Fork dedicated child servers for each connected client

Multithreading

WIN32 version creates threads for each RPC call with thread pooling

Non-blocking RPC

Immediate return after call delivery for improved responsiveness

🔄 Advanced RPC Patterns

Asynchronous RPC

Server signaling instead of waiting for RPC calls

Fixed Port Support

No portmapper required - servers can use fixed ports

Dual Role Support

Applications can be both server and client of the same interface

🔧 Development Flexibility

Interface Properties

Flexible customization of generated code through interface properties

C++ Compatibility

Fully C++ compatible generated code with RPC class generation

Protocol Support

Compatible with socket-based ONC RPC and TLI-based TIRPC

About ONC RPC Foundation

PowerRPC is built on the robust foundation of ONC RPC from Sun Microsystems, which is available on almost every UNIX platform. Our implementation includes a complete port of ONC RPC to WIN32, with all ONC RPC functions exported through the associated DLL included in the PowerRPC distribution.

While PowerRPC uses a different IDL from Sun's ONC RPC implementation, it maintains full compatibility with the underlying ONC RPC protocol, ensuring seamless integration with existing RPC infrastructure.