00001 /*****************************************************************************/ 00002 /* */ 00003 /* XrdMonSndPacket.cc */ 00004 /* */ 00005 /* (c) 2005 by the Board of Trustees of the Leland Stanford, Jr., University */ 00006 /* All Rights Reserved */ 00007 /* Produced by Jacek Becla for Stanford University under contract */ 00008 /* DE-AC02-76SF00515 with the Department of Energy */ 00009 /*****************************************************************************/ 00010 00011 // $Id: XrdMonSndPacket.cc 22437 2008-03-04 14:35:16Z rdm $ 00012 00013 #include "XrdMon/XrdMonSndPacket.hh" 00014 #include <string.h> 00015 00016 00017 XrdMonSndPacket::XrdMonSndPacket() 00018 : _size(0), _data(0) 00019 {} 00020 00021 XrdMonSndPacket::XrdMonSndPacket(const XrdMonSndPacket& p) 00022 : _size(p._size) 00023 { 00024 if ( p._data == 0 ) { 00025 _data = 0; 00026 } else { 00027 _data = new char [p.size()]; 00028 memcpy(_data, p._data, p.size()); 00029 } 00030 } 00031 00032 XrdMonSndPacket::~XrdMonSndPacket() 00033 { 00034 delete [] _data; 00035 } 00036 00037 int 00038 XrdMonSndPacket::init(packetlen_t newSize) 00039 { 00040 _data = new char[newSize]; 00041 if ( 0 == _data ) { 00042 return 1; // error 00043 } 00044 _size = newSize; 00045 return 0; 00046 } 00047 00048 void 00049 XrdMonSndPacket::reset() 00050 { 00051 delete [] _data; 00052 _size = 0; 00053 }