Browse Source
Merge pull request #2406 from Subv/session_disconnect
Merge pull request #2406 from Subv/session_disconnect
Kernel: Properly update port counters on session disconnection.nce_cpp
committed by
GitHub
8 changed files with 84 additions and 51 deletions
-
1src/core/CMakeLists.txt
-
13src/core/hle/kernel/client_port.cpp
-
27src/core/hle/kernel/client_session.cpp
-
23src/core/hle/kernel/client_session.h
-
31src/core/hle/kernel/server_session.cpp
-
12src/core/hle/kernel/server_session.h
-
27src/core/hle/kernel/session.h
-
1src/core/hle/result.h
@ -0,0 +1,27 @@ |
|||||
|
// Copyright 2017 Citra Emulator Project |
||||
|
// Licensed under GPLv2 or any later version |
||||
|
// Refer to the license.txt file included. |
||||
|
|
||||
|
#pragma once |
||||
|
|
||||
|
#include "core/hle/kernel/kernel.h" |
||||
|
|
||||
|
namespace Kernel { |
||||
|
|
||||
|
class ClientSession; |
||||
|
class ClientPort; |
||||
|
class ServerSession; |
||||
|
|
||||
|
/** |
||||
|
* Parent structure to link the client and server endpoints of a session with their associated |
||||
|
* client port. The client port need not exist, as is the case for portless sessions like the |
||||
|
* FS File and Directory sessions. When one of the endpoints of a session is destroyed, its |
||||
|
* corresponding field in this structure will be set to nullptr. |
||||
|
*/ |
||||
|
class Session final { |
||||
|
public: |
||||
|
ClientSession* client = nullptr; ///< The client endpoint of the session. |
||||
|
ServerSession* server = nullptr; ///< The server endpoint of the session. |
||||
|
SharedPtr<ClientPort> port; ///< The port that this session is associated with (optional). |
||||
|
}; |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue