VoltRpc
Welcome to the VoltRpc documentation site!
VoltRpc is a library designed for high performance RPC communication. It can use either TCP or Named Pipes for communications between a client and host.
Features
- Its fast (See the benchmarks)
- Supports all built-in C# value types, including:
- Supports these built-in .NET types: (More to be added)
- Supports arrays for any type
- Other types such as
Span<T>
,Memory<T>
,Vector2
,Vector3
, etc are supported by extensions. - Easily support custom types by implementing a TypeReadWriter<T>
- Proxy generated by using a .NET Source Generator
- Simple to use
Benchmarks
Method | array | arraySize | message | Mean | Error | StdDev |
---|---|---|---|---|---|---|
BasicVoid | ? | ? | ? | 8.540 μs | 0.1634 μs | 0.2125 μs |
BasicReturn | ? | ? | ? | 9.488 μs | 0.1218 μs | 0.1080 μs |
ArrayReturn | ? | ? | ? | 9.528 μs | 0.1653 μs | 0.1546 μs |
ArrayParameterVoid | ? | 25 | ? | 9.233 μs | 0.0999 μs | 0.0885 μs |
ArrayParameterReturn | ? | 25 | ? | 9.427 μs | 0.1529 μs | 0.1636 μs |
ArrayParameterVoid | ? | 8294400 | ? | 9.290 μs | 0.1106 μs | 0.0924 μs |
ArrayParameterReturn | ? | 8294400 | ? | 9.631 μs | 0.1637 μs | 0.1531 μs |
BasicParameterVoid | ? | ? | Hello World! | 9.358 μs | 0.1194 μs | 0.1116 μs |
BasicParameterReturn | ? | ? | Hello World! | 9.891 μs | 0.1478 μs | 0.1383 μs |
For more info on these benchmarks see Benchmarks.
Authors
Voltstro - Initial work - Voltstro
License
This project is licensed under the MIT license – see the LICENSE page for details.
Credits
- Mirror
NetworkReader.cs
used as a base forBufferedReader.cs
NetworkWriter.cs
used as a base forBufferedWriter.cs
- Parts of
BufferedStream.cs
from the .NET Runtime was also used in the reader.