From 00febb25de92b1cd01309cc0f253ed4c3a761b13 Mon Sep 17 00:00:00 2001 From: Erwin Nindl Date: Mon, 24 Dec 2007 17:05:26 +0000 Subject: weihnachtlicher checkin * packet processing now with less memory operations than before * todo: * testing * set cipher / authalgo via commandline * set key operations for hmac calculation --- plainPacket.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'plainPacket.cpp') diff --git a/plainPacket.cpp b/plainPacket.cpp index c48cd8c..1df611d 100644 --- a/plainPacket.cpp +++ b/plainPacket.cpp @@ -41,12 +41,15 @@ PlainPacket::~PlainPacket() { buf_ = reinterpret_cast(payload_type_); + length_ = size_; } PlainPacket::PlainPacket(u_int32_t max_payload_length) : Buffer(max_payload_length + sizeof(payload_type_t)) { payload_type_ = reinterpret_cast(buf_); - buf_ = buf_ + sizeof(payload_type_t); + buf_ += sizeof(payload_type_t); + length_ = max_payload_length; + size_ = length_; } payload_type_t PlainPacket::getPayloadType() const @@ -59,3 +62,15 @@ void PlainPacket::setPayloadType(payload_type_t payload_type) payload_type = PAYLOAD_TYPE_T_HTON(payload_type); } +void PlainPacket::setLength(u_int32_t length) +{ + if(length > size_) + throw std::out_of_range("can't set length greater then size ofsize of allocated memory"); + + length_ = length; +} + +u_int32_t PlainPacket::getSize() const +{ + return size_; +} -- cgit v1.2.3