diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2023-01-04 19:15:45 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-04 23:15:45 +0100 |
| commit | 08831eecf77cedd3c4192ebab5a9c485fb15d51e (patch) | |
| tree | 6d95b921a18e9cfa477579fcecb9d041e03d682e /Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs | |
| parent | c6a139a6e7e3ffe1591bc14dafafed60b9bef0dc (diff) | |
IPC refactor part 3+4: New server HIPC message processor (#4188)
* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization
* Make types match on calls to AlignUp/AlignDown
* Formatting
* Address some PR feedback
* Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations
* Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory
* Implement EventType
* Address more PR feedback
* Log request processing errors since they are not normal
* Rename waitable to multiwait and add missing lock
* PR feedback
* Ac_K PR feedback
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs b/Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs index 2f67aeae..93f0f34c 100644 --- a/Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs +++ b/Ryujinx.HLE/HOS/Kernel/Ipc/KPort.cs @@ -1,4 +1,5 @@ using Ryujinx.HLE.HOS.Kernel.Common; +using Ryujinx.Horizon.Common; namespace Ryujinx.HLE.HOS.Kernel.Ipc { @@ -7,26 +8,26 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc public KServerPort ServerPort { get; } public KClientPort ClientPort { get; } - private long _nameAddress; + private string _name; private ChannelState _state; public bool IsLight { get; private set; } - public KPort(KernelContext context, int maxSessions, bool isLight, long nameAddress) : base(context) + public KPort(KernelContext context, int maxSessions, bool isLight, string name) : base(context) { ServerPort = new KServerPort(context, this); ClientPort = new KClientPort(context, this, maxSessions); - IsLight = isLight; - _nameAddress = nameAddress; + IsLight = isLight; + _name = name; _state = ChannelState.Open; } - public KernelResult EnqueueIncomingSession(KServerSession session) + public Result EnqueueIncomingSession(KServerSession session) { - KernelResult result; + Result result; KernelContext.CriticalSection.Enter(); @@ -34,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc { ServerPort.EnqueueIncomingSession(session); - result = KernelResult.Success; + result = Result.Success; } else { @@ -46,9 +47,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc return result; } - public KernelResult EnqueueIncomingLightSession(KLightServerSession session) + public Result EnqueueIncomingLightSession(KLightServerSession session) { - KernelResult result; + Result result; KernelContext.CriticalSection.Enter(); @@ -56,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Ipc { ServerPort.EnqueueIncomingLightSession(session); - result = KernelResult.Success; + result = Result.Success; } else { |
