You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
2.9 KiB

// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Platform
{
/// <summary>
/// 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.
/// </summary>
public class InitializeThreadAffinity : ISettable
{
/// <summary>
/// Any thread related to network management that is not IO.
/// </summary>
public ulong NetworkWork { get; set; }
/// <summary>
/// Any thread that will interact with a storage device.
/// </summary>
public ulong StorageIo { get; set; }
/// <summary>
/// Any thread that will generate web socket IO.
/// </summary>
public ulong WebSocketIo { get; set; }
/// <summary>
/// Any thread that will generate IO related to P2P traffic and mangement.
/// </summary>
public ulong P2PIo { get; set; }
/// <summary>
/// Any thread that will generate http request IO.
/// </summary>
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()
{
}
}
}