Use std::move where appropriate.
This commit is contained in:
parent
c93c5a72bb
commit
f9bcf89510
12 changed files with 187 additions and 177 deletions
|
@ -15,6 +15,9 @@ ClientPort::ClientPort() {}
|
|||
ClientPort::~ClientPort() {}
|
||||
|
||||
ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
|
||||
// Note: Threads do not wait for the server endpoint to call
|
||||
// AcceptSession before returning from this call.
|
||||
|
||||
if (active_sessions >= max_sessions) {
|
||||
return ResultCode(ErrorDescription::MaxConnectionsReached,
|
||||
ErrorModule::OS, ErrorSummary::WouldBlock,
|
||||
|
@ -27,7 +30,7 @@ ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
|
|||
auto client_session = std::get<SharedPtr<ClientSession>>(sessions);
|
||||
auto server_session = std::get<SharedPtr<ServerSession>>(sessions);
|
||||
|
||||
server_port->pending_sessions.push_back(server_session);
|
||||
server_port->pending_sessions.push_back(std::move(server_session));
|
||||
|
||||
// Wake the threads waiting on the ServerPort
|
||||
server_port->WakeupAllWaitingThreads();
|
||||
|
|
|
@ -16,7 +16,7 @@ ResultVal<SharedPtr<ClientSession>> ClientSession::Create(SharedPtr<ServerSessio
|
|||
SharedPtr<ClientSession> client_session(new ClientSession);
|
||||
|
||||
client_session->name = std::move(name);
|
||||
client_session->server_session = server_session;
|
||||
client_session->server_session = std::move(server_session);
|
||||
return MakeResult<SharedPtr<ClientSession>>(std::move(client_session));
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> ServerPort::CreatePortP
|
|||
SharedPtr<ClientPort> client_port(new ClientPort);
|
||||
|
||||
server_port->name = name + "_Server";
|
||||
server_port->hle_handler = hle_handler;
|
||||
server_port->hle_handler = std::move(hle_handler);
|
||||
client_port->name = name + "_Client";
|
||||
client_port->server_port = server_port;
|
||||
client_port->max_sessions = max_sessions;
|
||||
|
|
|
@ -18,7 +18,7 @@ ResultVal<SharedPtr<ServerSession>> ServerSession::Create(std::string name, std:
|
|||
|
||||
server_session->name = std::move(name);
|
||||
server_session->signaled = false;
|
||||
server_session->hle_handler = hle_handler;
|
||||
server_session->hle_handler = std::move(hle_handler);
|
||||
|
||||
return MakeResult<SharedPtr<ServerSession>>(std::move(server_session));
|
||||
}
|
||||
|
@ -46,8 +46,9 @@ ResultCode ServerSession::HandleSyncRequest() {
|
|||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
std::tuple<SharedPtr<ServerSession>, SharedPtr<ClientSession>> ServerSession::CreateSessionPair(const std::string& name, std::shared_ptr<Service::SessionRequestHandler> hle_handler) {
|
||||
auto server_session = ServerSession::Create(name + "_Server", hle_handler).MoveFrom();
|
||||
ServerSession::SessionPair ServerSession::CreateSessionPair(const std::string& name,
|
||||
std::shared_ptr<Service::SessionRequestHandler> hle_handler) {
|
||||
auto server_session = ServerSession::Create(name + "_Server", std::move(hle_handler)).MoveFrom();
|
||||
auto client_session = ClientSession::Create(server_session, name + "_Client").MoveFrom();
|
||||
|
||||
return std::make_tuple(std::move(server_session), std::move(client_session));
|
||||
|
|
|
@ -40,12 +40,14 @@ public:
|
|||
return HANDLE_TYPE;
|
||||
}
|
||||
|
||||
using SessionPair = std::tuple<SharedPtr<ServerSession>, SharedPtr<ClientSession>>;
|
||||
|
||||
/**
|
||||
* Creates a pair of ServerSession and an associated ClientSession.
|
||||
* @param name Optional name of the ports
|
||||
* @return The created session tuple
|
||||
*/
|
||||
static std::tuple<SharedPtr<ServerSession>, SharedPtr<ClientSession>> CreateSessionPair(const std::string& name = "Unknown", std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr);
|
||||
static SessionPair CreateSessionPair(const std::string& name = "Unknown", std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr);
|
||||
|
||||
/**
|
||||
* Handle a sync request from the emulated application.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue