docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct SteamNetConnectionRealTimeStatus_t

    Quick connection state, pared down to something you could call more frequently without it being too big of a perf hit.

    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Steamworks.Interop
    Assembly: Unity.Steamworks.Interop.dll
    Syntax
    [Serializable]
    public struct SteamNetConnectionRealTimeStatus_t

    Fields

    m_cbPendingReliable

    The m_cbPendingReliable field of SteamNetConnectionRealTimeStatus_t.

    Declaration
    public int m_cbPendingReliable
    Field Value
    Type Description
    int

    m_cbPendingUnreliable

    Number of bytes pending to be sent. This is data that you have recently requested to be sent but has not yet actually been put on the wire. The reliable number ALSO includes data that was previously placed on the wire, but has now been scheduled for re-transmission. Thus, it's possible to observe m_cbPendingReliable increasing between two checks, even if no calls were made to send reliable data between the checks. Data that is awaiting the Nagle delay will appear in these numbers.

    Declaration
    public int m_cbPendingUnreliable
    Field Value
    Type Description
    int

    m_cbSentUnackedReliable

    Number of bytes of reliable data that has been placed the wire, but for which we have not yet received an acknowledgment, and thus we may have to re-transmit.

    Declaration
    public int m_cbSentUnackedReliable
    Field Value
    Type Description
    int

    m_eState

    High level state of the connection

    Declaration
    public ESteamNetworkingConnectionState m_eState
    Field Value
    Type Description
    ESteamNetworkingConnectionState

    m_flConnectionQualityLocal

    Connection quality measured locally, 0...1. (Percentage of packets delivered end-to-end in order).

    Declaration
    public float m_flConnectionQualityLocal
    Field Value
    Type Description
    float

    m_flConnectionQualityRemote

    Packet delivery success rate as observed from remote host

    Declaration
    public float m_flConnectionQualityRemote
    Field Value
    Type Description
    float

    m_flInBytesPerSec

    The m_flInBytesPerSec field of SteamNetConnectionRealTimeStatus_t.

    Declaration
    public float m_flInBytesPerSec
    Field Value
    Type Description
    float

    m_flInPacketsPerSec

    The m_flInPacketsPerSec field of SteamNetConnectionRealTimeStatus_t.

    Declaration
    public float m_flInPacketsPerSec
    Field Value
    Type Description
    float

    m_flOutBytesPerSec

    The m_flOutBytesPerSec field of SteamNetConnectionRealTimeStatus_t.

    Declaration
    public float m_flOutBytesPerSec
    Field Value
    Type Description
    float

    m_flOutPacketsPerSec

    Current data rates from recent history.

    Declaration
    public float m_flOutPacketsPerSec
    Field Value
    Type Description
    float

    m_nPing

    Current ping (ms)

    Declaration
    public int m_nPing
    Field Value
    Type Description
    int

    m_nSendRateBytesPerSecond

    Estimate rate that we believe that we can send data to our peer. Note that this could be significantly higher than m_flOutBytesPerSec, meaning the capacity of the channel is higher than you are sending data. (That's OK!)

    Declaration
    public int m_nSendRateBytesPerSecond
    Field Value
    Type Description
    int

    m_usecMaxJitter

    Highest packet jitter experienced, since the last time this information was returned. (The high water mark is cleared each time you fetch the info.)

    • The units are microseconds, although the measurement precision is usually not nearly this precise.
    • A negative value means "no data available".
    • Not all connections are able to measure jitter.
    Declaration
    public int m_usecMaxJitter
    Field Value
    Type Description
    int

    m_usecQueueTime

    If you queued a message right now, approximately how long would that message wait in the queue before we actually started putting its data on the wire in a packet? In general, data that is sent by the application is limited by the bandwidth of the channel. If you send data faster than this, it must be queued and put on the wire at a metered rate. Even sending a small amount of data (e.g. a few MTU, say ~3k) will require some of the data to be delayed a bit. Ignoring multiple lanes, the estimated delay will be approximately equal to ( m_cbPendingUnreliable+m_cbPendingReliable ) / m_nSendRateBytesPerSecond plus or minus one MTU. It depends on how much time has elapsed since the last packet was put on the wire. For example, the queue might have just been emptied, and the last packet placed on the wire, and we are exactly up against the send rate limit. In that case we might need to wait for one packet's worth of time to elapse before we can send again. On the other extreme, the queue might have data in it waiting for Nagle. (This will always be less than one packet, because as soon as we have a complete packet we would send it.) In that case, we might be ready to send data now, and this value will be 0. This value is only valid if multiple lanes are not used. If multiple lanes are in use, then the queue time will be different for each lane, and you must use the value in SteamNetConnectionRealTimeLaneStatus_t. Nagle delay is ignored for the purposes of this calculation.

    Declaration
    public SteamNetworkingMicroseconds m_usecQueueTime
    Field Value
    Type Description
    SteamNetworkingMicroseconds

    reserved

    Internal stuff, room to change API easily

    Declaration
    public uint[] reserved
    Field Value
    Type Description
    uint[]
    In This Article
    Back to top
    Copyright © 2026 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)