// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.P2P { /// /// Structure containing information about the packet queue's state and the incoming packet that would overflow the queue /// public struct OnIncomingPacketQueueFullInfo : ICallbackInfo { /// /// Client-specified data passed into AddNotifyIncomingPacketQueueFull /// public object ClientData { get; set; } /// /// The maximum size in bytes the incoming packet queue is allowed to use /// public ulong PacketQueueMaxSizeBytes { get; set; } /// /// The current size in bytes the incoming packet queue is currently using /// public ulong PacketQueueCurrentSizeBytes { get; set; } /// /// The Product User ID of the local user who is receiving the packet that would overflow the queue /// public ProductUserId OverflowPacketLocalUserId { get; set; } /// /// The channel the incoming packet is for /// public byte OverflowPacketChannel { get; set; } /// /// The size in bytes of the incoming packet (and related metadata) that would overflow the queue /// public uint OverflowPacketSizeBytes { get; set; } public Result? GetResultCode() { return null; } internal void Set(ref OnIncomingPacketQueueFullInfoInternal other) { ClientData = other.ClientData; PacketQueueMaxSizeBytes = other.PacketQueueMaxSizeBytes; PacketQueueCurrentSizeBytes = other.PacketQueueCurrentSizeBytes; OverflowPacketLocalUserId = other.OverflowPacketLocalUserId; OverflowPacketChannel = other.OverflowPacketChannel; OverflowPacketSizeBytes = other.OverflowPacketSizeBytes; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct OnIncomingPacketQueueFullInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private System.IntPtr m_ClientData; private ulong m_PacketQueueMaxSizeBytes; private ulong m_PacketQueueCurrentSizeBytes; private System.IntPtr m_OverflowPacketLocalUserId; private byte m_OverflowPacketChannel; private uint m_OverflowPacketSizeBytes; public object ClientData { get { object value; Helper.Get(m_ClientData, out value); return value; } set { Helper.Set(value, ref m_ClientData); } } public System.IntPtr ClientDataAddress { get { return m_ClientData; } } public ulong PacketQueueMaxSizeBytes { get { return m_PacketQueueMaxSizeBytes; } set { m_PacketQueueMaxSizeBytes = value; } } public ulong PacketQueueCurrentSizeBytes { get { return m_PacketQueueCurrentSizeBytes; } set { m_PacketQueueCurrentSizeBytes = value; } } public ProductUserId OverflowPacketLocalUserId { get { ProductUserId value; Helper.Get(m_OverflowPacketLocalUserId, out value); return value; } set { Helper.Set(value, ref m_OverflowPacketLocalUserId); } } public byte OverflowPacketChannel { get { return m_OverflowPacketChannel; } set { m_OverflowPacketChannel = value; } } public uint OverflowPacketSizeBytes { get { return m_OverflowPacketSizeBytes; } set { m_OverflowPacketSizeBytes = value; } } public void Set(ref OnIncomingPacketQueueFullInfo other) { ClientData = other.ClientData; PacketQueueMaxSizeBytes = other.PacketQueueMaxSizeBytes; PacketQueueCurrentSizeBytes = other.PacketQueueCurrentSizeBytes; OverflowPacketLocalUserId = other.OverflowPacketLocalUserId; OverflowPacketChannel = other.OverflowPacketChannel; OverflowPacketSizeBytes = other.OverflowPacketSizeBytes; } public void Set(ref OnIncomingPacketQueueFullInfo? other) { if (other.HasValue) { ClientData = other.Value.ClientData; PacketQueueMaxSizeBytes = other.Value.PacketQueueMaxSizeBytes; PacketQueueCurrentSizeBytes = other.Value.PacketQueueCurrentSizeBytes; OverflowPacketLocalUserId = other.Value.OverflowPacketLocalUserId; OverflowPacketChannel = other.Value.OverflowPacketChannel; OverflowPacketSizeBytes = other.Value.OverflowPacketSizeBytes; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_OverflowPacketLocalUserId); } public void Get(out OnIncomingPacketQueueFullInfo output) { output = new OnIncomingPacketQueueFullInfo(); output.Set(ref this); } } }