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.

177 lines
3.5 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 struct InitializeThreadAffinity
{
/// <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 management.
/// </summary>
public ulong P2PIo { get; set; }
/// <summary>
/// Any thread that will generate http request IO.
/// </summary>
public ulong HttpRequestIo { get; set; }
/// <summary>
/// Any thread that will generate IO related to RTC traffic and management.
/// </summary>
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<InitializeThreadAffinity>, ISettable<InitializeThreadAffinity>, 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);
}
}
}