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: