00001 /* 00002 * Copyright 2004-2006 Intel Corporation 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #include "Message.h" 00018 00019 namespace dtnsim { 00020 00021 long Message::total_ = 0; 00022 00023 Message::Message() {} 00024 Message::Message(int src, int dst, double size) 00025 { 00026 src_ = src; 00027 dst_ = dst; 00028 origsize_ = size; 00029 size_ = size; 00030 offset_ = 0; 00031 id_ = next(); 00032 } 00033 00034 int 00035 Message::id() { return id_ ; } 00036 00037 Message* 00038 Message::clone() 00039 { 00040 Message* retval = new Message(); 00041 retval->src_ = src_; 00042 retval->dst_ = dst_; 00043 retval->size_ = size_; 00044 retval->origsize_ = origsize_; 00045 retval->offset_ = offset_; 00046 retval->id_ = id_; 00047 return retval; 00048 } 00049 00050 void 00051 Message::rm_bytes(double len) 00052 { 00053 offset_ = offset_ + len; 00054 size_ = size_ - len; 00055 } 00056 00057 00058 } // namespace dtnsim