docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct MultiNetworkDriver.Concurrent

    Structure that can be used to access a MultiNetworkDriver 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.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Networking.Transport
    Assembly: Unity.Networking.Transport.dll
    Syntax
    public struct MultiNetworkDriver.Concurrent

    Methods

    AbortSend(DataStreamWriter)

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

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

    Unity.Collections.DataStreamWriter to cancel.

    Exceptions
    Type Condition
    ArgumentException

    If writer was not obtained by a prior call to BeginSend(NetworkConnection, out DataStreamWriter, int).

    BeginSend(NetworkConnection, out DataStreamWriter, int)

    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

    Unity.Collections.DataStreamWriter the data can be written to.

    int requiredPayloadSize

    Size that the returned Unity.Collections.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 Unity.Collections.DataStreamWriter will be as large as it can be.

    Returns
    Type Description
    int

    0 on success, a negative value on error.

    Exceptions
    Type Condition
    ArgumentException

    If connection was not obtained by a prior call to this MultiNetworkDriver.

    BeginSend(NetworkPipeline, NetworkConnection, out DataStreamWriter, int)

    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

    Unity.Collections.DataStreamWriter the data can be written to.

    int requiredPayloadSize

    Size that the returned Unity.Collections.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 Unity.Collections.DataStreamWriter will be as large as it can be.

    Returns
    Type Description
    int

    0 on success, a negative error code on error.

    Exceptions
    Type Condition
    ArgumentException

    If connection was not obtained by a prior call to this MultiNetworkDriver.

    EndSend(DataStreamWriter)

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

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

    Unity.Collections.DataStreamWriter to send.

    Returns
    Type Description
    int

    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.

    Exceptions
    Type Condition
    ArgumentException

    If writer was not obtained by a prior call to BeginSend(NetworkConnection, out DataStreamWriter, int).

    GetConnectionState(NetworkConnection)

    Get the current state of the given connection.

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

    Connection to get the state of.

    Returns
    Type Description
    NetworkConnection.State

    State of the connection.

    Exceptions
    Type Condition
    ArgumentException

    If connection was not obtained by a prior call to this MultiNetworkDriver.

    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

    Unity.Collections.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.

    Exceptions
    Type Condition
    ArgumentException

    If connection was not obtained by a prior call to this MultiNetworkDriver.

    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

    Unity.Collections.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.

    Exceptions
    Type Condition
    ArgumentException

    If connection was not obtained by a prior call to this MultiNetworkDriver.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)