// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Platform { /// /// Options for initializing defining thread affinity for use by Epic Online Services SDK. /// Set the affinity to 0 to allow EOS SDK to use a platform specific default value. /// public struct InitializeThreadAffinity { /// /// Any thread related to network management that is not IO. /// public ulong NetworkWork { get; set; } /// /// Any thread that will interact with a storage device. /// public ulong StorageIo { get; set; } /// /// Any thread that will generate web socket IO. /// public ulong WebSocketIo { get; set; } /// /// Any thread that will generate IO related to P2P traffic and management. /// public ulong P2PIo { get; set; } /// /// Any thread that will generate http request IO. /// public ulong HttpRequestIo { get; set; } /// /// Any thread that will generate IO related to RTC traffic and management. /// public ulong RTCIo { get; set; } internal void Set(ref InitializeThreadAffinityInternal other) { NetworkWork = other.NetworkWork; StorageIo = other.StorageIo; WebSocketIo = other.WebSocketIo; P2PIo = other.P2PIo; HttpRequestIo = other.HttpRequestIo; RTCIo = other.RTCIo; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct InitializeThreadAffinityInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private ulong m_NetworkWork; private ulong m_StorageIo; private ulong m_WebSocketIo; private ulong m_P2PIo; private ulong m_HttpRequestIo; private ulong m_RTCIo; public ulong NetworkWork { get { return m_NetworkWork; } set { m_NetworkWork = value; } } public ulong StorageIo { get { return m_StorageIo; } set { m_StorageIo = value; } } public ulong WebSocketIo { get { return m_WebSocketIo; } set { m_WebSocketIo = value; } } public ulong P2PIo { get { return m_P2PIo; } set { m_P2PIo = value; } } public ulong HttpRequestIo { get { return m_HttpRequestIo; } set { m_HttpRequestIo = value; } } public ulong RTCIo { get { return m_RTCIo; } set { m_RTCIo = value; } } public void Set(ref InitializeThreadAffinity other) { m_ApiVersion = PlatformInterface.InitializeThreadaffinityApiLatest; NetworkWork = other.NetworkWork; StorageIo = other.StorageIo; WebSocketIo = other.WebSocketIo; P2PIo = other.P2PIo; HttpRequestIo = other.HttpRequestIo; RTCIo = other.RTCIo; } public void Set(ref InitializeThreadAffinity? other) { if (other.HasValue) { m_ApiVersion = PlatformInterface.InitializeThreadaffinityApiLatest; NetworkWork = other.Value.NetworkWork; StorageIo = other.Value.StorageIo; WebSocketIo = other.Value.WebSocketIo; P2PIo = other.Value.P2PIo; HttpRequestIo = other.Value.HttpRequestIo; RTCIo = other.Value.RTCIo; } } public void Dispose() { } public void Get(out InitializeThreadAffinity output) { output = new InitializeThreadAffinity(); output.Set(ref this); } } }