docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct NetworkPacketReceiver

    The NetworkPacketReceiver is an interface for handling received packets, needed by the INetworkInterface It either can be used in two main scenarios:

    1. Your API requires a pointer to memory that you own. Then you should use AllocateMemory(ref int), write to the memory and then AppendPacket(IntPtr, ref NetworkInterfaceEndPoint, int, AppendPacketMode) with NoCopyNeeded. You don't need to deallocate the memory
    2. Your API gives you a pointer that you don't own. In this case you should use AppendPacket(IntPtr, ref NetworkInterfaceEndPoint, int, AppendPacketMode) with None (default)
    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 NetworkPacketReceiver

    Properties

    LastUpdateTime

    Gets the value of the last update time.

    Declaration
    public long LastUpdateTime { get; }
    Property Value
    Type Description
    long

    ReceiveErrorCode

    Sets the value of the receive error code

    Declaration
    public int ReceiveErrorCode { set; }
    Property Value
    Type Description
    int

    Methods

    AllocateMemory(ref int)

    Calls NetworkDriver's AllocateMemory(ref int)

    Declaration
    public IntPtr AllocateMemory(ref int dataLen)
    Parameters
    Type Name Description
    int dataLen

    Size of memory to allocate in bytes. Must be > 0

    Returns
    Type Description
    IntPtr

    Pointer to allocated memory or IntPtr.Zero if there is no space left (this function doesn't set ReceiveErrorCode! caller should decide if this is Out of memory or something else)

    AppendPacket(IntPtr, ref NetworkInterfaceEndPoint, int, AppendPacketMode)

    When data is received this function should be called to pass it inside NetworkDriver

    Declaration
    public bool AppendPacket(IntPtr data, ref NetworkInterfaceEndPoint address, int dataLen, NetworkPacketReceiver.AppendPacketMode mode = AppendPacketMode.None)
    Parameters
    Type Name Description
    IntPtr data

    Pointer to the data. If it is pointer to data that was received with AllocateMemory(ref int) make sure mode is NoCopyNeeded>

    NetworkInterfaceEndPoint address

    Address where data was received from

    int dataLen

    Length of data in bytes

    NetworkPacketReceiver.AppendPacketMode mode

    Extra flags, like NoCopyNeeded that means - no copy is needed, data is already in NetworkDriver's data stream

    Returns
    Type Description
    bool

    True if no errors

    IsAddressUsed(NetworkInterfaceEndPoint)

    Check if an address is currently associated with a valid connection. This is mostly useful to keep interface internal lists of connections in sync with the correct state.

    Declaration
    public bool IsAddressUsed(NetworkInterfaceEndPoint address)
    Parameters
    Type Name Description
    NetworkInterfaceEndPoint address

    Address to check.

    Returns
    Type Description
    bool

    Whether the address is used or not.

    In This Article
    Back to top
    Copyright © 2025 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)