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.