summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libsock/server/client.hpp4
-rw-r--r--src/server/client.cpp6
-rw-r--r--src/server/clients.cpp20
3 files changed, 3 insertions, 27 deletions
diff --git a/include/libsock/server/client.hpp b/include/libsock/server/client.hpp
index 59870ce..3ed4516 100644
--- a/include/libsock/server/client.hpp
+++ b/include/libsock/server/client.hpp
@@ -39,7 +39,6 @@ class Client {
Client(SP<Server> server = SP<Server>(pServer), SP<Clients> clients = pClients, bool track = false, bool oneShot = true);
~Client();
- const std::string &getName() const;
const std::string &getIp() const;
bool isAdmin() const;
@@ -58,7 +57,6 @@ class Client {
SP<LibSock::CFileDescriptor> m_sockfd;
sockaddr_in m_addr;
socklen_t m_addrLen = sizeof(m_addr);
- std::string m_name;
std::string m_ip;
int m_port;
bool m_track;
@@ -88,10 +86,8 @@ class Clients {
void kick(WP<Client> client, const bool kill = false, const std::string &reason = "", std::optional<std::function<std::any(const std::vector<std::pair<std::jthread, SP<Client>>>::iterator &)>> cb = std::nullopt);
void addClient(const Client &client);
- bool nameExists(const std::string &name);
void shutdownClients(std::optional<std::function<std::any(const std::vector<std::pair<std::jthread, SP<Client>>> &)>> cb = std::nullopt);
- SP<Client> getByName(const std::string &name) const;
SP<Client> getByIp(const std::string &ip) const;
std::vector<SP<Client>> getClients() const;
std::vector<SData> getDatas() const;
diff --git a/src/server/client.cpp b/src/server/client.cpp
index f8dc1ca..e5fab6b 100644
--- a/src/server/client.cpp
+++ b/src/server/client.cpp
@@ -41,7 +41,7 @@ Client::~Client() {
void Client::recvLoop() {
while (true) {
- auto recvData = read(std::format("{}: ", m_name));
+ auto recvData = read();
if (!recvData->good)
break;
@@ -114,7 +114,7 @@ void Client::run() {
}
bool Client::isValid() {
- if (!m_sockfd->isValid() || m_name.empty())
+ if (!m_sockfd->isValid())
return false;
int err = 0;
@@ -135,8 +135,6 @@ bool Client::write(const std::string &msg, std::optional<std::function<std::any(
return r;
}
-const std::string &Client::getName() const { return m_name; }
-
const std::string &Client::getIp() const { return m_ip; }
template <typename... Args>
diff --git a/src/server/clients.cpp b/src/server/clients.cpp
index 1a11ed7..4d6308e 100644
--- a/src/server/clients.cpp
+++ b/src/server/clients.cpp
@@ -68,24 +68,6 @@ void Clients::broadcast(const SData &msg) {
m_vDatas.push_back(msg);
}
-bool Clients::nameExists(const std::string &name) {
- auto it = std::ranges::find_if(m_vClients, [&name](const auto &s) { return s.second->getName() == name; });
-
- if (it != m_vClients.end()) {
- if (!it->second->isValid()) {
- kick(std::weak_ptr<Client>(it->second), true, "Connection lost");
- return false;
- }
- return true;
- }
- return false;
-}
-
-SP<Client> Clients::getByName(const std::string &name) const {
- auto it = std::ranges::find_if(m_vClients, [&name](const auto &s) { return s.second->getName() == name; });
- return it != m_vClients.end() ? it->second : nullptr;
-}
-
SP<Client> Clients::getByIp(const std::string &ip) const {
auto it = std::ranges::find_if(m_vClients, [&ip](const auto &s) { return s.second->getIp() == ip; });
return it != m_vClients.end() ? it->second : nullptr;
@@ -106,7 +88,7 @@ void Clients::kick(WP<Client> clientWeak, const bool kill, const std::string &re
for (auto it = m_vClients.begin(); it != m_vClients.end(); ++it) {
if (it->second == client) {
- if (client && !client->getName().empty())
+ if (client)
// this only exist when the client is registered
// not sure why the second is null
if (cb)