1:
2:
3: /**********************
4: * *
5: * COMPILER INCLUDES *
6: * *
7: **********************/
8:
9:
10: #include <cassert>
11:
12:
13: /*********************
14: * *
15: * PROJECT INCLUDES *
16: * *
17: *********************/
18:
19:
20: #include "am.h"
21: #include "dnsutil.h"
22: #include "request.h"
23:
24:
25: /************************
26: * *
27: * REQUEST CONSTRUCTOR *
28: * *
29: ************************/
30:
31:
32: Request::Request(bool i_bRD, Opcode i_op, QuestionPtr &i_qnpr) {
33: AMCTOR(Request);
34: m_bRD = i_bRD;
35: m_op = OPCODE_QUERY;
36: m_qnp = i_qnpr;
37: i_qnpr = NULL;
38: }
39:
40:
41: /***********************
42: * *
43: * REQUEST DESTRUCTOR *
44: * *
45: ***********************/
46:
47:
48: Request::~Request() {
49: AMDTOR(Request);
50: SoftDelete(m_qnp);
51: }
52:
53:
54: /*************************
55: * *
56: * FUNCTIONS OPERATOR<< *
57: * *
58: *************************/
59:
60:
61: ostream& operator<<(ostream& io_smr, RequestConstPtr i_rqpIn) {
62: io_smr << *i_rqpIn;
63: return io_smr;
64: }
65:
66:
67: ostream& operator<<(ostream& io_smr, const Request &i_rqrIn) {
68: if (&i_rqrIn==NULL) {
69: io_smr << "[NULL REQUEST]" << endl;
70: return io_smr;
71: }
72: if (i_rqrIn.GetRD()) io_smr << "RD ";
73: io_smr << GetOpcodeName(i_rqrIn.GetOpcode()) << " ";
74: io_smr << i_rqrIn.GetQuestion();
75: return io_smr;
76: }
77:
78:
79: