public enum ChannelThe delivery guarantee a message is sent with.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Four channels rather than two, because "reliable or not" is the wrong question twice over. A chat line must arrive but does not care what order it arrives in relative to an inventory update; a position update must not be applied after a newer one has already been applied, but losing it costs nothing because another follows in 50 ms.
A transport that cannot honour a channel natively implements it — the guarantee is the contract, not the mechanism. Vixen.Net.Transport.Local honours all four for free because an in-process queue loses and reorders nothing.
Fields and properties (4)
ReliableArrives, exactly once, in the order it was sent. Retransmitted until acknowledged, and held at the receiver until its predecessors arrive. The default, and the expensive one: a single lost packet stalls everything behind it on this channel.
ReliableUnorderedArrives, exactly once, in whatever order it gets there. Retransmitted until acknowledged but never held for a predecessor, so one loss delays one message rather than the queue behind it. The right channel for independent events — a chat line, a pickup, an RPC whose arguments do not depend on the last one.
UnreliableMay be lost, duplicated or reordered, and is never retransmitted. The channel for state that supersedes itself: transforms, animation, anything where the next packet makes this one irrelevant.
SequencedMay be lost, and is never retransmitted, but is never delivered out of order: a packet older than one already delivered is dropped rather than applied. What Unreliable wants to be for a value that must never go backwards.
Used by (92, showing 40)
- AvatarControllerMultiplayer
- GameClientMultiplayer
- GameServerMultiplayer
- MatchProtocolMultiplayer
- PeerVoiceChat
- RelayVoiceChat
- Vixen_Samples_Multiplayer_CombatantReplicatorMultiplayer
- Vixen_Samples_Multiplayer_VitalsReplicatorMultiplayer
- AwaitableRpcTestsVixen.Net.Tests
- ChannelExtensionsVixen.Net
- ChannelReceiverVixen.Net.Transport.Udp
- ChannelTestsVixen.Net.Tests
- ClientRpcAttributeVixen.Net
- CompositeTransportVixen.Net.Transport.Composite
- CompositeTransportTestsVixen.Net.Transport.Composite.Tests
- CounterVixen.Net.Tests
- CountingEventsVixen.Net.Fuzz
- DeliveryVixen.Net.Fuzz
- DroppingTransportVixen.Net.Fuzz
- EventRecorderVixen.Net.Tests
- GeneratedTransformVixen.Net.Generators.Tests
- GeneratedTurretVixen.Net.Generators.Tests
- HandWrittenTransformReplicatorVixen.Net.Generators.Tests
- HandshakeTargetVixen.Net.Fuzz
- HealthReplicatorVixen.Net.Tests
- IComponentReplicatorVixen.Net
- IRpcTransportVixen.Net
- ISessionMessageHandlerVixen.Net
- ITransportVixen.Net
- ITransportEventsVixen.Net
- InjectingTransportVixen.Net.Fuzz
- LocalTransportVixen.Net.Transport.Local
- LocalTransportTestsVixen.Net.Transport.Local.Tests
- LoopbackVixen.Net.Tests
- MessageRecorderVixen.Net.Tests
- NetworkAnimatorParametersReplicatorVixen.Net.Animation
- NetworkAnimatorReplicatorVixen.Net.Animation
- NetworkAudioSourceReplicatorVixen.Net.Audio
- NetworkBonesReplicatorVixen.Net.Animation
- NetworkRigidBodyReplicatorVixen.Net.Physics