Skip to content

Commit 4630104

Browse files
committed
Move logging to derived class
1 parent 4b8c5fa commit 4630104

File tree

5 files changed

+26
-17
lines changed

5 files changed

+26
-17
lines changed

examples/tcp_client_example.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,16 @@ class TCPClient : public slick_socket::TCPClientBase<TCPClient>
1616
{
1717
}
1818

19-
void onConnected() {}
20-
void onDisconnected() {}
19+
void onConnected()
20+
{
21+
logger_.logInfo("Successfully connected to server");
22+
}
23+
24+
void onDisconnected()
25+
{
26+
logger_.logInfo("Successfully disconnected from server");
27+
}
28+
2129
void onData(const uint8_t* data, size_t length)
2230
{
2331
std::string received_data((const char*)data, length);

examples/tcp_server_example.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,16 @@ class TCPServer : public slick_socket::TCPServerBase<TCPServer>
1010
{
1111
}
1212

13-
void onClientConnected(int client_id, const std::string& client_address) {}
14-
void onClientDisconnected(int client_id) {}
13+
void onClientConnected(int client_id, const std::string& client_address)
14+
{
15+
logger_.logInfo("{} client connected: ID={}, Address={}", name_, client_id, client_address);
16+
}
17+
18+
void onClientDisconnected(int client_id)
19+
{
20+
logger_.logInfo("{} client disconnected: ID={}", name_, client_id);
21+
}
22+
1523
void onClientData(int client_id, const uint8_t* data, size_t length)
1624
{
1725
std::string msg((char*)data, length);

include/slick_socket/tcp_client_unix.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ inline bool TCPClientBase<DerivedT, LoggerT>::connect()
111111
connected_.store(true, std::memory_order_release);
112112
client_thread_ = std::thread(&TCPClientBase::client_loop, this);
113113
derived().onConnected();
114-
logger_.logInfo("Successfully connected to server");
115114
return true;
116115
}
117116

include/slick_socket/tcp_server_unix.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,6 @@ void TCPServerBase<DrivedT, LoggerT>::accept_new_client()
319319

320320
// Notify about new client
321321
derived().onClientConnected(client_id, client_address);
322-
logger_.logInfo("{} client connected: ID={}, Address={}", name_, client_id, client_address);
323322
}
324323

325324
template<typename DrivedT, typename LoggerT>
@@ -343,21 +342,19 @@ void TCPServerBase<DrivedT, LoggerT>::handle_client_data(int client_id, std::vec
343342
{
344343
// Client disconnected
345344
close(socket);
345+
clients_.erase(it);
346346
// Notify about client disconnection
347347
derived().onClientDisconnected(client_id);
348-
logger_.logInfo("{} client disconnected: ID={}", name_, client_id);
349-
clients_.erase(it);
350348
}
351349
else
352350
{
353351
// Error
354352
if (errno != EAGAIN && errno != EWOULDBLOCK)
355353
{
356-
logger_.logError("Receive error for client");
354+
logger_.logError("Receive error for client ID={}", client_id);
357355
close(socket);
358-
derived().onClientDisconnected(client_id);
359-
logger_.logInfo("{} client disconnected: ID={}", name_, client_id);
360356
clients_.erase(it);
357+
derived().onClientDisconnected(client_id);
361358
}
362359
}
363360
}

include/slick_socket/tcp_server_win32.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,6 @@ void TCPServerBase<DrivedT, LoggerT>::accept_new_client()
315315

316316
// Notify about new client
317317
derived().onClientConnected(client_id, client_address);
318-
logger_.logInfo("{} client connected: ID={}, Address={}", name_, client_id, client_address);
319318
}
320319

321320
template<typename DrivedT, typename LoggerT>
@@ -338,22 +337,20 @@ void TCPServerBase<DrivedT, LoggerT>::handle_client_data(int client_id, std::vec
338337
{
339338
// Client disconnected
340339
closesocket(socket);
340+
clients_.erase(it);
341341
// Notify about client disconnection
342342
derived().onClientDisconnected(client_id);
343-
logger_.logInfo("{} client disconnected: ID={}", name_, client_id);
344-
clients_.erase(it);
345343
}
346344
else
347345
{
348346
// Error
349347
int error = WSAGetLastError();
350348
if (error != WSAEWOULDBLOCK)
351349
{
352-
logger_.logError("Receive error for client");
350+
logger_.logError("Receive error for client ID={}", client_id);
353351
closesocket(socket);
354-
derived().onClientDisconnected(client_id);
355-
logger_.logInfo("{} client disconnected: ID={}", name_, client_id);
356352
clients_.erase(it);
353+
derived().onClientDisconnected(client_id);
357354
}
358355
}
359356
}

0 commit comments

Comments
 (0)