diff --git a/src/resolver/CMakeLists.txt b/src/resolver/CMakeLists.txt index 503568c..d3923d9 100644 --- a/src/resolver/CMakeLists.txt +++ b/src/resolver/CMakeLists.txt @@ -1,5 +1,5 @@ -add_library(Resolver OBJECT Server.cpp) +add_library(Resolver OBJECT Server.cpp Message.cpp) target_include_directories(Resolver PUBLIC include) diff --git a/src/resolver/Message.cpp b/src/resolver/Message.cpp new file mode 100644 index 0000000..c7f2780 --- /dev/null +++ b/src/resolver/Message.cpp @@ -0,0 +1,11 @@ +#include "Message.hpp" + +namespace Plains { +namespace Resolver { + + + + + + +}} diff --git a/src/resolver/Server.cpp b/src/resolver/Server.cpp index 59868f3..7090b92 100644 --- a/src/resolver/Server.cpp +++ b/src/resolver/Server.cpp @@ -33,7 +33,7 @@ static char* intToHex(unsigned byteCount, int c) { Server::Server(Logger& logger, EventBus& eventBus) : logger(logger), eventBus(eventBus) { logger.debug << "Testing some stuff..." << Logger::commit; - logger.debug << "Message class overall size: " << sizeof(Message) << Logger::commit; + logger.debug << "Message header overall size: " << sizeof(Message::Header) << Logger::commit; // logger.debug << "Message::Header size:" << sizeof(Message::Header) << endl; // logger.debug << "Message::QR:RESPONSE Enum:" << Message::QR::RESPONSE << endl; @@ -45,23 +45,23 @@ Server::Server(Logger& logger, EventBus& eventBus) : logger(logger), eventBus(ev myfile.seekg (0, std::ios::beg); beg = myfile.tellg(); const unsigned long size = end-beg; - Message* message = new Message(); - myfile.read ((char*)message, sizeof(Message)); + Message::Header* header = new Message::Header; + myfile.read ((char*)header, sizeof(Message)); logger.debug << "size is: " << size << " bytes." << Logger::commit; logger.debug << "Header: " << Logger::commit << - "ID: " << intToHex(2, message->header.id) << - " QR: " << byteToHex(message->header.qr) << - " OPCode: " << byteToHex(message->header.opCode) << Logger::commit << - "Authoritive Answer: " << byteToHex(message->header.aa) << Logger::commit << - "Truncation Flag: " << byteToHex(message->header.tc) << Logger::commit << - "Recursion Desired: " << byteToHex(message->header.rd) << Logger::commit << - "Recursion Available: " << byteToHex(message->header.ra) << Logger::commit << - "RCode: " << byteToHex(message->header.rCode) << Logger::commit << - "Question Count: " << intToHex(2, message->header.qdCount) << Logger::commit << - "Answer Record Count: " << intToHex(2, message->header.anCount) << Logger::commit << - "Authority Record Count: " << intToHex(2, message->header.nsCount) << Logger::commit << - "Additional Record Count: " << intToHex(2, message->header.arCount) << Logger::commit; + "ID: " << intToHex(2, header->id) << + " QR: " << byteToHex(header->qr) << + " OPCode: " << byteToHex(header->opCode) << Logger::commit << + "Authoritive Answer: " << byteToHex(header->aa) << Logger::commit << + "Truncation Flag: " << byteToHex(header->tc) << Logger::commit << + "Recursion Desired: " << byteToHex(header->rd) << Logger::commit << + "Recursion Available: " << byteToHex(header->ra) << Logger::commit << + "RCode: " << byteToHex(header->rCode) << Logger::commit << + "Question Count: " << intToHex(2, header->qdCount) << Logger::commit << + "Answer Record Count: " << intToHex(2, header->anCount) << Logger::commit << + "Authority Record Count: " << intToHex(2, header->nsCount) << Logger::commit << + "Additional Record Count: " << intToHex(2, header->arCount) << Logger::commit; myfile.close(); } diff --git a/src/resolver/include/Message.hpp b/src/resolver/include/Message.hpp index af15775..79cfaed 100644 --- a/src/resolver/include/Message.hpp +++ b/src/resolver/include/Message.hpp @@ -40,7 +40,7 @@ class Message unsigned int nsCount : 16; //Authority Record Count: Specifies the number of resource records in the Authority section of the message. (“NS” stands for “name server”, of course. J) unsigned int arCount : 16; //Additional Record Count: Specifies the number of resource records in the Additional section of the message. - } header; + }; struct Question {} question; struct Answer {} answer;