docs.unity3d.com
    Show / Hide Table of Contents

    Struct ReliableSequencedPipelineStage

    This pipeline stage can be used to ensure that packets sent through it will be delivered, and will be delivered in order. This is done by sending acknowledgements for received packets, and resending packets that have not been acknowledged in a while.

    Note that a consequence of these guarantees is that if a packet is lost, subsequent packets will not be delivered until the lost packet has been resent and delivered. This is called head-of-line blocking and can add significant latency to delivered packets when it occurs. For this reason, only send through this pipeline traffic which must absolutely be delivered in order (e.g. RPCs or player actions). State updates that will be resent later anyway (e.g. snapshots) should not be sent through this pipeline stage.

    Another reason to limit the amount of traffic sent through this pipeline is because it has limited bandwidth. Because of the need to keep packets around in case they need to be resent, only a limited number of packets can be in-flight at a time. This limit, called the window size, is 32 by default and can be increased to 64. See the documentation on pipelines for further details.

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: Unity.Networking.Transport
    Syntax
    [BurstCompile]
    public struct ReliableSequencedPipelineStage : INetworkPipelineStage

    Properties

    StaticSize

    Amount of data that the pipeline stage requires in "static" storage (storage shared by all instances of the pipeline stage). For example, this is often used to store configuration parameters obtained through NetworkSettings.

    Declaration
    public readonly int StaticSize { get; }
    Property Value
    Type Description
    Int32

    Size in bytes.

    Implements
    INetworkPipelineStage.StaticSize

    Methods

    StaticInitialize(Byte*, Int32, NetworkSettings)

    Initialize the static storage for the pipeline from the settings. More importantly, this method is responsible for providing the NetworkPipelineStage structure, which contains function pointers for most of the pipeline stage functionality.

    Declaration
    public NetworkPipelineStage StaticInitialize(byte *staticInstanceBuffer, int staticInstanceBufferLength, NetworkSettings settings)
    Parameters
    Type Name Description
    Byte* staticInstanceBuffer

    Static storage pointer.

    Int32 staticInstanceBufferLength

    Static storage length.

    NetworkSettings settings

    Settings provided to the driver.

    Returns
    Type Description
    NetworkPipelineStage

    Runtime information for a pipeline instance.

    Implements
    INetworkPipelineStage.StaticInitialize(Byte*, Int32, NetworkSettings)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023