Skip to content

Commit fdc0c5c

Browse files
Follow framework
1 parent b62247d commit fdc0c5c

7 files changed

+56
-44
lines changed

ClientContext.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
#include <log/Logger.h>
77
#include <string>
88

9-
ClientContext::ClientContext(core::socket::SocketConnection* socketConnection)
10-
: core::socket::SocketContext(socketConnection)
9+
ClientContext::ClientContext(core::socket::stream::SocketConnection* socketConnection)
10+
: core::socket::stream::SocketContext(socketConnection)
1111
, keyboardReader(new KeyboardReader(this, [this](std::string text) -> void {
1212
sendToPeer(text);
1313
})) {
@@ -28,7 +28,11 @@ void ClientContext::onDisconnected() {
2828
}
2929
}
3030

31-
std::size_t ClientContext::onReceiveFromPeer() {
31+
bool ClientContext::onSignal(int signum) {
32+
return true;
33+
}
34+
35+
std::size_t ClientContext::onReceivedFromPeer() {
3236
char buffer[1024];
3337

3438
std::size_t numBytesRead = readFromPeer(buffer, 1024);
@@ -42,6 +46,6 @@ void ClientContext::keyboardReaderAway() {
4246
keyboardReader = nullptr;
4347
}
4448

45-
core::socket::SocketContext* ClientContextFactory::create(core::socket::SocketConnection* socketConnection) {
49+
core::socket::stream::SocketContext* ClientContextFactory::create(core::socket::stream::SocketConnection* socketConnection) {
4650
return new ClientContext(socketConnection);
4751
}

ClientContext.h

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
#ifndef CLIENTCONTEXT_H
22
#define CLIENTCONTEXT_H
33

4-
#include <core/socket/SocketContext.h>
5-
#include <core/socket/SocketContextFactory.h>
4+
#include <core/socket/stream/SocketContext.h>
5+
#include <core/socket/stream/SocketContextFactory.h>
66

77
class KeyboardReader;
8-
namespace core::socket {
8+
namespace core::socket::stream {
99
class SocketConnection;
1010
}
1111

12-
class ClientContext : public core::socket::SocketContext {
12+
class ClientContext : public core::socket::stream::SocketContext {
1313
public:
14-
explicit ClientContext(core::socket::SocketConnection* socketConnection);
14+
explicit ClientContext(core::socket::stream::SocketConnection* socketConnection);
1515
~ClientContext();
1616

1717
void keyboardReaderAway();
1818

1919
private:
2020
void onConnected() override;
2121
void onDisconnected() override;
22-
std::size_t onReceiveFromPeer() override;
22+
[[nodiscard]] bool onSignal(int signum) override;
23+
24+
std::size_t onReceivedFromPeer() override;
2325

2426
KeyboardReader* keyboardReader = nullptr;
2527
};
2628

27-
class ClientContextFactory : public core::socket::SocketContextFactory {
29+
class ClientContextFactory : public core::socket::stream::SocketContextFactory {
2830
private:
29-
core::socket::SocketContext* create(core::socket::SocketConnection* socketConnection) override;
31+
core::socket::stream::SocketContext* create(core::socket::stream::SocketConnection* socketConnection) override;
3032
};
3133

3234
#endif // CLIENTCONTEXT_H

KeyboardReader.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
#include <unistd.h>
99

1010
KeyboardReader::KeyboardReader(ClientContext* clientContext, const std::function<void(std::string)>& callBack)
11-
: core::eventreceiver::ReadEventReceiver("KeyboardReader")
11+
: core::eventreceiver::ReadEventReceiver("KeyboardReader", 0)
1212
, callBack(callBack)
1313
, clientContext(clientContext) {
14-
enable(STDIN_FILENO);
14+
if (enable(STDIN_FILENO)) {
15+
std::cout << "KeyboardReader enabled";
16+
} else {
17+
std::cout << "KeyboardReader not enabled";
18+
}
1519
}
1620

1721
KeyboardReader::~KeyboardReader() {

ServerContext.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include <iostream>
66
#include <string> // for string
77

8-
ServerContext::ServerContext(core::socket::SocketConnection* socketConnection)
9-
: core::socket::SocketContext(socketConnection) {
8+
ServerContext::ServerContext(core::socket::stream::SocketConnection* socketConnection)
9+
: core::socket::stream::SocketContext(socketConnection) {
1010
}
1111

1212
void ServerContext::onConnected() {
@@ -19,7 +19,11 @@ void ServerContext::onDisconnected() {
1919
ChatApp::instance().removeServerContext(this);
2020
}
2121

22-
std::size_t ServerContext::onReceiveFromPeer() {
22+
bool ServerContext::onSignal(int signum) {
23+
return true;
24+
}
25+
26+
std::size_t ServerContext::onReceivedFromPeer() {
2327
char buffer[1024];
2428

2529
std::size_t numBytesRead = readFromPeer(buffer, 1023);
@@ -32,6 +36,6 @@ std::size_t ServerContext::onReceiveFromPeer() {
3236
return numBytesRead;
3337
}
3438

35-
core::socket::SocketContext* ServerContextFactory::create(core::socket::SocketConnection* socketConnection) {
39+
core::socket::stream::SocketContext* ServerContextFactory::create(core::socket::stream::SocketConnection* socketConnection) {
3640
return new ServerContext(socketConnection);
3741
}

ServerContext.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
#ifndef SERVERCONTEXT_H
22
#define SERVERCONTEXT_H
33

4-
#include <core/socket/SocketContext.h> // IWYU pragma: export
5-
#include <core/socket/SocketContextFactory.h>
4+
#include <core/socket/stream/SocketContext.h> // IWYU pragma: export
5+
#include <core/socket/stream/SocketContextFactory.h>
66

77
// IWYU pragma: no_include <SocketContext.h>
88

99
namespace core::socket {
1010
class SocketConnection;
1111
}
1212

13-
class ServerContext : public core::socket::SocketContext {
13+
class ServerContext : public core::socket::stream::SocketContext {
1414
public:
15-
explicit ServerContext(core::socket::SocketConnection* socketConnection);
15+
explicit ServerContext(core::socket::stream::SocketConnection* socketConnection);
1616

1717
private:
1818
void onConnected() override;
19-
2019
void onDisconnected() override;
20+
[[nodiscard]] bool onSignal(int signum) override;
2121

22-
std::size_t onReceiveFromPeer() override;
22+
std::size_t onReceivedFromPeer() override;
2323
};
2424

25-
class ServerContextFactory : public core::socket::SocketContextFactory {
26-
core::socket::SocketContext* create(core::socket::SocketConnection* socketConnection);
25+
class ServerContextFactory : public core::socket::stream::SocketContextFactory {
26+
core::socket::stream::SocketContext* create(core::socket::stream::SocketConnection* socketConnection);
2727
};
2828

2929
#endif // SERVERCONTEXT_H

client.cpp

+7-8
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,6 @@ int main(int argc, char* argv[]) {
3333
using ClientTLS = net::in::stream::tls::SocketClient<ClientContextFactory>;
3434
using SocketConnectionTLS = ClientTLS::SocketConnection;
3535

36-
std::map<std::string, std::any> options;
37-
options["CertChain"] = "/home/voc/projects/ServerClient/Client-End-Entity.pem";
38-
options["CertChainKey"] = "/home/voc/projects/ServerClient/Client-End-Entity-Key.pem";
39-
options["Password"] = "pentium5";
40-
options["CaFile"] = "/home/voc/projects/ServerClient/VolkerChristianRootCA.pem";
41-
4236
ClientTLS clienttls(
4337
[](SocketConnectionTLS* socketConnection) -> void {
4438
VLOG(0) << "OnConnect from: " << socketConnection->getRemoteAddress().toString();
@@ -48,8 +42,13 @@ int main(int argc, char* argv[]) {
4842
},
4943
[](SocketConnectionTLS* socketConnection) -> void {
5044
VLOG(0) << "OnDisconnect from: " << socketConnection->getRemoteAddress().toString();
51-
},
52-
options);
45+
});
46+
47+
clienttls.getConfig()
48+
.setCertChain("/home/voc/projects/ServerClient/Client-End-Entity.pem")
49+
.setCertKey("/home/voc/projects/ServerClient/Client-End-Entity-Key.pem")
50+
.setCertKeyPassword("pentium5")
51+
.setCaCertFile("/home/voc/projects/ServerClient/VolkerChristianRootCA.pem");
5352

5453
clienttls.connect("localhost", 8082, [](const ClientTLS::SocketAddress& socketAddress, int errnum) -> void {
5554
if (errnum < 0) {

server.cpp

+9-10
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,6 @@ int main(int argc, char* argv[]) {
3737
using ServerTLS = net::in::stream::tls::SocketServer<ServerContextFactory>;
3838
using SocketConnectionTLS = net::in::stream::tls::SocketServer<ServerContextFactory>::SocketConnection;
3939

40-
std::map<std::string, std::any> options;
41-
options["CertChain"] = "/home/voc/projects/ServerClient/WebServerCertificateChain.pem";
42-
options["CertChainKey"] = "/home/voc/projects/ServerClient/Volker_Christian_-_WEB-Cert.pem";
43-
options["Password"] = "pentium5";
44-
options["CaFile"] = "/home/voc/projects/ServerClient/Client-Root-CA.crt";
45-
4640
ServerTLS servertls(
4741
[](SocketConnectionTLS* socketConnection) -> void {
4842
VLOG(0) << "OnConnect from: " << socketConnection->getRemoteAddress().toString();
@@ -52,8 +46,13 @@ int main(int argc, char* argv[]) {
5246
},
5347
[](SocketConnectionTLS* socketConnection) -> void {
5448
VLOG(0) << "OnDisconnect from: " << socketConnection->getRemoteAddress().toString();
55-
},
56-
options);
49+
});
50+
51+
servertls.getConfig()
52+
.setCertChain("/home/voc/projects/ServerClient/WebServerCertificateChain.pem")
53+
.setCertKey("/home/voc/projects/ServerClient/Volker_Christian_-_WEB-Cert.pem")
54+
.setCertKeyPassword("pentium5")
55+
.setCaCertFile("/home/voc/projects/ServerClient/Client-Root-CA.crt");
5756

5857
servertls.listen(8082, 5, [](const ServerTLS::SocketAddress& socketAddress, int errnum) -> void {
5958
if (errnum < 0) {
@@ -79,7 +78,7 @@ int main(int argc, char* argv[]) {
7978
VLOG(0) << "OnDisconnect from: " << socketConnection->getRemoteAddress().toString();
8079
});
8180

82-
server6.listen(8081, 5, [](const Server6::SocketAddress& socketAddress, int errnum) -> void {
81+
server6.listen(8081, 5, [](const Server6::SocketAddress& socketAddress, core::socket::State errnum) -> void {
8382
if (errnum < 0) {
8483
PLOG(ERROR) << "OnError";
8584
} else if (errnum > 0) {
@@ -103,7 +102,7 @@ int main(int argc, char* argv[]) {
103102
VLOG(0) << "OnDisconnect from: " << socketConnection->getRemoteAddress().toString();
104103
});
105104

106-
serverUn.listen("/tmp/testsocket", 5, [](const SocketConnectionUn::SocketAddress& socketAddress, int errnum) -> void {
105+
serverUn.listen("/tmp/testsocket", 5, [](const ServerUn::SocketAddress& socketAddress, core::socket::State errnum) -> void {
107106
if (errnum < 0) {
108107
PLOG(ERROR) << "OnError";
109108
} else if (errnum > 0) {

0 commit comments

Comments
 (0)