SpiecsEngine
 
Loading...
Searching...
No Matches
InetAddress.h
Go to the documentation of this file.
1/**
2* @file InetAddress.h.
3* @brief The InetAddress Class Definitions.
4* @author Spices & Muduo.
5*/
6
7#pragma once
8#include "Core/Core.h"
9
10#include <winsock2.h>
11#include<ws2tcpip.h>
12
13namespace Spices {
14
15namespace Net {
16
17 /**
18 * @brief This class is Wrapper of current socket address.
19 * @attention Not support IpV6.
20 */
22 {
23 public:
24
25 /**
26 * @brief Constructor Function.
27 * @param[in] port .
28 * @param[in] ip .
29 */
30 InetAddress(uint16_t port = 0, std::string ip = "127.0.0.1");
31
32 /**
33 * @brief Constructor Function.
34 * @param[in] addr sockaddr_in.
35 */
36 InetAddress(const sockaddr_in& addr)
38 {}
39
40 /**
41 * @brief Destructor Function.
42 */
43 virtual ~InetAddress() = default;
44
45 /**
46 * @brief Get IP from Socket Address.
47 * @return Returns IP.
48 */
49 std::string ToIP() const;
50
51 /**
52 * @brief Get IP and Port from Socket Address.
53 * @return Returns IP and Port.
54 */
55 std::string ToIPPort() const;
56
57 /**
58 * @brief Get Port and Port from Socket Address.
59 * @return Returns Port.
60 */
61 uint16_t ToPort() const;
62
63 /**
64 * @brief Get Socket Address.
65 * @return Returns Socket Address pointer.
66 */
67 const sockaddr_in* GetSockAddress() const { return &m_Address; }
68
69 /**
70 * @brief Get Socket Address.
71 * @return Returns Socket Address pointer.
72 */
73 sockaddr_in* GetSockAddress() { return &m_Address; }
74
75 /**
76 * @brief Set Socket Address.
77 * @param[in] addr sockaddr_in.
78 */
79 void SetSockAddress(const sockaddr_in& addr) { m_Address = addr; }
80
81 private:
82
83 /**
84 * @brief Socket Address.
85 */
87
88 };
89
90}
91
92}
#define SPICES_PROFILE_ZONE
const char * Peek() const
Get read area start pointer.
Definition Buffer.h:73
std::string RetrieveAllAsString()
Get readable area data as string.
Definition Buffer.h:96
size_t m_WriterIndex
Writer pointer.
Definition Buffer.h:204
const char * BeginWrite() const
Get writeable area pointer.
Definition Buffer.h:140
std::string RetrieveAsString(size_t len)
Get retrieve area data as string.
Definition Buffer.cpp:26
void EnsureWriteableBytes(size_t len)
Ensure enough bytes to write.
Definition Buffer.cpp:33
size_t WriteableBytes() const
Get writeable area bytes.
Definition Buffer.h:55
char * Begin()
Get Buffer start pointer.
Definition Buffer.h:169
size_t WriteFd(SOCKET fd, int *saveErrno) const
Write to Socket.
Definition Buffer.cpp:72
static constexpr size_t header
Definition Buffer.h:22
size_t ReadableBytes() const
Get readable area bytes.
Definition Buffer.h:46
Buffer(size_t bytes=initialSize)
Constructor Function.
Definition Buffer.h:31
size_t ReadFd(SOCKET fd, int *saveErrno)
Read from Socket.
Definition Buffer.cpp:53
size_t m_ReaderIndex
Reader pointer.
Definition Buffer.h:199
void Append(const char *data, size_t len)
Append another buffer data.
Definition Buffer.cpp:46
char * BeginWrite()
Get writeable area pointer.
Definition Buffer.h:131
void Retrieve(size_t len)
Retrieve some buffer data from data area.
Definition Buffer.cpp:14
const char * Begin() const
Get Buffer start pointer.
Definition Buffer.h:178
virtual ~Buffer()=default
Destructor Function.
static constexpr size_t initialSize
Definition Buffer.h:23
void RetrieveAll()
Retrieve all buffer data.
Definition Buffer.h:87
void expend(size_t len)
Expend buffer size.
Definition Buffer.cpp:84
size_t HeaderBytes() const
Get header area bytes.
Definition Buffer.h:64
std::vector< char > m_Buffer
Buffer data.
Definition Buffer.h:194
void Append(const std::string &msg)
Append Message to this buffer.
Definition Buffer.cpp:41
Wrapper of readwrite buffer.
Definition Buffer.h:19
void SetCloseConnection(bool on)
Set CloseConnection.
HttpResponse(bool close)
Constructor Function.
void SetContentType(const std::string &contentType)
Set ContentType.
std::string m_StatusMessage
StatusMessage.
StatusCode m_StatusCode
StatusCode.
bool m_CloseConnection
CloseConnection.
void SetBody(const std::string &body)
Set body.
void SetStatusCode(StatusCode code)
Set StatusCode.
void SetStatusMessage(const std::string &message)
Set StatusMessage.
void AddHeader(const std::string &name, const std::string &value)
Add a header.
std::string m_Body
Body.
void AppendToBuffer(Buffer *output)
Append this response to Buffer.
virtual ~HttpResponse()=default
Destructor Function.
bool CloseConnection() const
Get CloseConnection.
std::unordered_map< std::string, std::string > m_Header
This response header.
sockaddr_in * GetSockAddress()
Get Socket Address.
Definition InetAddress.h:73
std::string ToIPPort() const
Get IP and Port from Socket Address.
virtual ~InetAddress()=default
Destructor Function.
std::string ToIP() const
Get IP from Socket Address.
uint16_t ToPort() const
Get Port and Port from Socket Address.
void SetSockAddress(const sockaddr_in &addr)
Set Socket Address.
Definition InetAddress.h:79
sockaddr_in m_Address
Socket Address.
Definition InetAddress.h:86
InetAddress(uint16_t port=0, std::string ip="127.0.0.1")
Constructor Function.
InetAddress(const sockaddr_in &addr)
Constructor Function.
Definition InetAddress.h:36
const sockaddr_in * GetSockAddress() const
Get Socket Address.
Definition InetAddress.h:67
This class is Wrapper of current socket address.
Definition InetAddress.h:22