docs.unity3d.com
    Show / Hide Table of Contents

    Struct NetworkDriver.Concurrent

    Structure that can be used to access a NetworkDriver from multiple jobs. Only a subset of operations are supported because not all operations are safe to perform concurrently. Must be obtained with the ToConcurrent() method.

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: Unity.Networking.Transport
    Syntax
    public struct Concurrent

    Methods

    AbortSend(DataStreamWriter)

    Aborts a send started with BeginSend(NetworkPipeline, NetworkConnection, out DataStreamWriter, Int32).

    Declaration
    public void AbortSend(DataStreamWriter writer)
    Parameters
    Type Name Description
    DataStreamWriter writer

    DataStreamWriter to cancel.

    BeginSend(NetworkConnection, out DataStreamWriter, Int32)

    Begin sending data on the given connection (default pipeline).

    Declaration
    public int BeginSend(NetworkConnection connection, out DataStreamWriter writer, int requiredPayloadSize = 0)
    Parameters
    Type Name Description
    NetworkConnection connection

    Connection to send the data to.

    DataStreamWriter writer

    DataStreamWriter the data can be written to.

    Int32 requiredPayloadSize

    Size that the returned DataStreamWriter must support. The method will return an error if that payload size is not supported by the pipeline. Defaults to 0, which means the DataStreamWriter will be as large as it can be.

    Returns
    Type Description
    Int32

    0 on success, a negative value on error.

    BeginSend(NetworkPipeline, NetworkConnection, out DataStreamWriter, Int32)

    Begin sending data on the given connection and pipeline.

    Declaration
    public int BeginSend(NetworkPipeline pipe, NetworkConnection connection, out DataStreamWriter writer, int requiredPayloadSize = 0)
    Parameters
    Type Name Description
    NetworkPipeline pipe

    Pipeline to send the data on.

    NetworkConnection connection

    Connection to send the data to.

    DataStreamWriter writer

    DataStreamWriter the data can be written to.

    Int32 requiredPayloadSize

    Size that the returned DataStreamWriter must support. The method will return an error if that payload size is not supported by the pipeline. Defaults to 0, which means the DataStreamWriter will be as large as it can be.

    Returns
    Type Description
    Int32

    0 on success, a negative error code on error.

    EndSend(DataStreamWriter)

    Enqueue a send operation for the data in the given DataStreamWriter, which must have been obtained by a prior call to BeginSend(NetworkPipeline, NetworkConnection, out DataStreamWriter, Int32).

    Declaration
    public int EndSend(DataStreamWriter writer)
    Parameters
    Type Name Description
    DataStreamWriter writer

    DataStreamWriter to send.

    Returns
    Type Description
    Int32

    The number of bytes to be sent on success, a negative value on error.

    Remarks

    This method doesn't actually send anything on the wire. It simply enqueues the send operation, which will be performed in the next ScheduleFlushSend(JobHandle) or ScheduleUpdate(JobHandle) job.

    GetConnectionState(NetworkConnection)

    Get the current state of the given connection.

    Declaration
    public NetworkConnection.State GetConnectionState(NetworkConnection id)
    Parameters
    Type Name Description
    NetworkConnection id
    Returns
    Type Description
    NetworkConnection.State

    State of the connection.

    MaxHeaderSize(NetworkPipeline)

    Get the maximum size of headers when sending on the given pipeline.

    Declaration
    public int MaxHeaderSize(NetworkPipeline pipe)
    Parameters
    Type Name Description
    NetworkPipeline pipe

    Pipeline to get the header size for.

    Returns
    Type Description
    Int32

    The maximum size of the headers on the given pipeline.

    Remarks

    Only accounts for the Unity Transport headers (no UDP or IP).

    PopEventForConnection(NetworkConnection, out DataStreamReader)

    Pops the next event from the event queue for the given connection, Empty will be returned if there are no more events.

    Declaration
    public NetworkEvent.Type PopEventForConnection(NetworkConnection connection, out DataStreamReader reader)
    Parameters
    Type Name Description
    NetworkConnection connection

    Connection for which to pop the event.

    DataStreamReader reader

    DataStreamReader from which the event data (e.g. payload) can be read from.

    Returns
    Type Description
    NetworkEvent.Type

    The type of the event popped.

    Remarks

    The reader obtained from this method will contain different things for different event types. For Data, it contains the actual received payload. For Disconnect, it contains a single byte identifying the reason for the disconnection (see DisconnectReason). For other event types, it contains nothing.

    PopEventForConnection(NetworkConnection, out DataStreamReader, out NetworkPipeline)

    Pops the next event from the event queue for the given connection, Empty will be returned if there are no more events.

    Declaration
    public NetworkEvent.Type PopEventForConnection(NetworkConnection connection, out DataStreamReader reader, out NetworkPipeline pipe)
    Parameters
    Type Name Description
    NetworkConnection connection

    Connection for which to pop the event.

    DataStreamReader reader

    DataStreamReader from which the event data (e.g. payload) can be read from.

    NetworkPipeline pipe

    Pipeline on which the data event was received.

    Returns
    Type Description
    NetworkEvent.Type

    The type of the event popped.

    Remarks

    The reader obtained from this method will contain different things for different event types. For Data, it contains the actual received payload. For Disconnect, it contains a single byte identifying the reason for the disconnection (see DisconnectReason). For other event types, it contains nothing.

    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