Browse Source
Merge pull request #949 from lioncash/priv
client_port: Make all data members private
pull/15/merge
bunnei
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
21 additions and
7 deletions
-
src/core/hle/kernel/client_port.cpp
-
src/core/hle/kernel/client_port.h
-
src/core/hle/kernel/server_session.cpp
|
|
|
@ -14,8 +14,8 @@ |
|
|
|
|
|
|
|
namespace Kernel { |
|
|
|
|
|
|
|
ClientPort::ClientPort() {} |
|
|
|
ClientPort::~ClientPort() {} |
|
|
|
ClientPort::ClientPort() = default; |
|
|
|
ClientPort::~ClientPort() = default; |
|
|
|
|
|
|
|
ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() { |
|
|
|
// Note: Threads do not wait for the server endpoint to call
|
|
|
|
@ -40,4 +40,12 @@ ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() { |
|
|
|
return MakeResult(std::get<SharedPtr<ClientSession>>(sessions)); |
|
|
|
} |
|
|
|
|
|
|
|
void ClientPort::ConnectionClosed() { |
|
|
|
if (active_sessions == 0) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
--active_sessions; |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Kernel
|
|
|
|
@ -37,14 +37,20 @@ public: |
|
|
|
*/ |
|
|
|
ResultVal<SharedPtr<ClientSession>> Connect(); |
|
|
|
|
|
|
|
SharedPtr<ServerPort> server_port; ///< ServerPort associated with this client port. |
|
|
|
u32 max_sessions; ///< Maximum number of simultaneous sessions the port can have |
|
|
|
u32 active_sessions; ///< Number of currently open sessions to this port |
|
|
|
std::string name; ///< Name of client port (optional) |
|
|
|
/** |
|
|
|
* Signifies that a previously active connection has been closed, |
|
|
|
* decreasing the total number of active connections to this port. |
|
|
|
*/ |
|
|
|
void ConnectionClosed(); |
|
|
|
|
|
|
|
private: |
|
|
|
ClientPort(); |
|
|
|
~ClientPort() override; |
|
|
|
|
|
|
|
SharedPtr<ServerPort> server_port; ///< ServerPort associated with this client port. |
|
|
|
u32 max_sessions = 0; ///< Maximum number of simultaneous sessions the port can have |
|
|
|
u32 active_sessions = 0; ///< Number of currently open sessions to this port |
|
|
|
std::string name; ///< Name of client port (optional) |
|
|
|
}; |
|
|
|
|
|
|
|
} // namespace Kernel |
|
|
|
@ -27,7 +27,7 @@ ServerSession::~ServerSession() { |
|
|
|
|
|
|
|
// Decrease the port's connection count.
|
|
|
|
if (parent->port) |
|
|
|
parent->port->active_sessions--; |
|
|
|
parent->port->ConnectionClosed(); |
|
|
|
|
|
|
|
// TODO(Subv): Wake up all the ClientSession's waiting threads and set
|
|
|
|
// the SendSyncRequest result to 0xC920181A.
|
|
|
|
|