직렬화 함수 작성 끝
This commit is contained in:
@@ -176,9 +176,12 @@ void IOCP::iocpWatcher_(utils::ThreadPool* IOCPThread) {
|
||||
std::vector<char> buf(16384); // SSL_read최대 반환 크기
|
||||
int red_data = 0;
|
||||
std::lock_guard lock(*GetRecvQueueMutex_(sock));
|
||||
auto queue_list = GetRecvQueue_(data->socket->sock);
|
||||
auto queue_list = GetRecvQueue_(sock);
|
||||
if (data->event == IOCPEVENT::READ) {
|
||||
if (proto_ == SessionProtocol::TLS || proto_ == SessionProtocol::QUIC) {
|
||||
if (proto_ == SessionProtocol::TLS ||
|
||||
proto_ == SessionProtocol::QUIC) { // DEPRECATED. openssl을 사용할 수가
|
||||
// 없기 때문에 추후 완성 뒤에 기능을
|
||||
// 붙이든 해야 할 듯 함.
|
||||
// DEBUG: BIO_write 전 OpenSSL 에러 스택 확인 (혹시 모를 이전 에러)
|
||||
ERR_print_errors_fp(stderr); // 이미 오류 스택에 뭔가 있는지 확인용
|
||||
fprintf(stderr, "--- Before BIO_write ---\n");
|
||||
|
||||
@@ -41,7 +41,7 @@ Socket::operator SOCKET() {
|
||||
|
||||
void Socket::set(const SOCKET __sock, int __domain) {
|
||||
if (__sock == INVALID_SOCKET) {
|
||||
spdlog::critical("socket()");
|
||||
spdlog::error("set failed errno:{} {}", errno, strerror(errno));
|
||||
std::exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,9 +11,14 @@ int TCPSocket::listen(int __n) {
|
||||
}
|
||||
|
||||
void TCPSocket::accept(TCPSocket &newSock, Address &__addr) {
|
||||
newSock.set(::accept(sock, &__addr.addr, &__addr.length), domain);
|
||||
SOCKET newsock = INVALID_SOCKET;
|
||||
newsock = ::accept(sock, &__addr.addr, &__addr.length);
|
||||
if (newsock == INVALID_SOCKET) {
|
||||
spdlog::error("accept() errno:{} {}", errno, strerror(errno));
|
||||
std::exit(EXIT_FAILURE);
|
||||
}
|
||||
newSock.set(newsock, domain);
|
||||
memcpy(&newSock.remoteAddr, &__addr, sizeof(Address));
|
||||
if (newSock.sock == INVALID_SOCKET) spdlog::error("accept()");
|
||||
}
|
||||
|
||||
int TCPSocket::connect(Address &serveraddr) {
|
||||
|
||||
Reference in New Issue
Block a user