Skip to content

RPC Configuration

Alexander edited this page Aug 30, 2022 · 8 revisions

.DefaultExecutionTimeout - timeout in milliseconds after which you will get TimeoutException on any Execute method. That doesn't mean method was not executed, that just means we can't wait more (default: -1|infinite)

.OrderedExecution - if true all method executions gonna be queued, if false all method executions can do simultaneously (default: false)

.OrderedExecutionMaxQueue - applied only if .OrderedExecution == true, max queue size. Exceeding the size can cause RemotingException(QueueExceeded) (default: 32)

.RpcSerializer - serializer for primitives and Protobuf messages, see more in RPC Serialization (default: empty serializer)

.LogManager - Logs manager for RPC info, see more (default: Logging.LogManager.Dummy)

.SessionFactory - Your session factory (default: null)

.RemotingInvocationRules - Configures the invocation rules (default: AllowLambdaExpressions = true, AllowNonPublicMethods = true). AllowLambdaExpressions should be false if code is running with Unity3D with IL2CPP backend

.CompressionThreshold - threshold in bytes to compress your data (default: 1024)

Synchronization

See more: Neon synchronization

Encryption

Neon is supporting encryption with Aes128, Aes256 ciphers. Key is set after connection established with a Diffie–Hellman key exchange protocol.

To add encryption to your configuration just use SetCipher method with a needed algorithm

Examples:

.SetCipher<Aes128>();
or
.SetCipher<Aes256>();

Authentication

Neon is supporting server custom authentication, see more RPC Authentication

Network parameters

RPC configuration classes have a lot of network parameters listed here

TCP Networking configuration

UDP Networking configuration

Clone this wiki locally