// 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 class InitializeThreadAffinity : ISettable { /// /// 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 mangement. /// public ulong P2PIo { get; set; } /// /// Any thread that will generate http request IO. /// public ulong HttpRequestIo { get; set; } internal void Set(InitializeThreadAffinityInternal? other) { if (other != null) { NetworkWork = other.Value.NetworkWork; StorageIo = other.Value.StorageIo; WebSocketIo = other.Value.WebSocketIo; P2PIo = other.Value.P2PIo; HttpRequestIo = other.Value.HttpRequestIo; } } public void Set(object other) { Set(other as InitializeThreadAffinityInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct InitializeThreadAffinityInternal : 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; 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 void Set(InitializeThreadAffinity other) { if (other != null) { m_ApiVersion = PlatformInterface.InitializeThreadaffinityApiLatest; NetworkWork = other.NetworkWork; StorageIo = other.StorageIo; WebSocketIo = other.WebSocketIo; P2PIo = other.P2PIo; HttpRequestIo = other.HttpRequestIo; } } public void Set(object other) { Set(other as InitializeThreadAffinity); } public void Dispose() { } } }