Struct RpcQueue<TActionSerializer, TActionRequest>
A helper struct that should be used schedule outgoing RPCs. The RpcQueue is used internally by the code-generated systems that consume the SendRpcCommandRequest requests, and allow you to serialize the rpc (that will be sent into the OutgoingRpcDataStreamBuffer for the outgoing connection).
You can use the RpcQueue in your custom system by retrieving an instance for the given
TActionRequest, TActionSerializer pair from the RpcCollection
by calling the GetRpcQueue<TActionSerializer, TActionRequest>() method.
Inherited Members
Namespace: Unity.NetCode
Assembly: Unity.NetCode.dll
Syntax
public struct RpcQueue<TActionSerializer, TActionRequest> where TActionSerializer : struct, IRpcCommandSerializer<TActionRequest> where TActionRequest : struct, IComponentData
Type Parameters
| Name | Description |
|---|---|
| TActionSerializer | The typename of the struct implementing the IRpcCommandSerializer<T> interface for the |
| TActionRequest | The typename of a struct implementing the Unity.Entities.IComponentData interface. |
Remarks
If you intend to cache the retrieved queue (e.g. inside an OnCreate function in your system), you must ensure that your system is created after the RpcSystem by using the Unity.Entities.CreateAfterAttribute.
Methods
Schedule(DynamicBuffer<OutgoingRpcDataStreamBuffer>, ComponentLookup<GhostInstance>, TActionRequest)
Schedules an rpc to be sent through the network, by serializing and appending a new rpc packet into the OutgoingRpcDataStreamBuffer, for the given connection.
The binary rpc data has the following format:
- PacketType: short or long based on the DynamicAssemblyList.
- MsgLen: short, the length of the serialized data.
- RpcData: the binary data generated by invoking the TActionSerializer serialize method.
Declaration
public void Schedule(DynamicBuffer<OutgoingRpcDataStreamBuffer> buffer, ComponentLookup<GhostInstance> ghostFromEntity, TActionRequest data)
Parameters
| Type | Name | Description |
|---|---|---|
| DynamicBuffer<OutgoingRpcDataStreamBuffer> | buffer | Stream buffer for the rpc packetsk |
| ComponentLookup<GhostInstance> | ghostFromEntity | Lookup for ghost instance |
| TActionRequest | data | data |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | If the RPC index cannot be found for the rpc type. |