From: Xie Jiagui Date: Wed, 14 Mar 2012 06:18:07 +0000 (+0800) Subject: [1600] The messageRedererHandle class was deleted,and used the X-Git-Tag: trac2351_base~226^2~116^2~130 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=699068ef1467867fbbb86cfebc20e823c5128100;p=thirdparty%2Fkea.git [1600] The messageRedererHandle class was deleted,and used the suboptimal solution instead. --- diff --git a/src/bin/auth/auth_srv.cc b/src/bin/auth/auth_srv.cc index 747c124bfd..cb74ccc1b5 100644 --- a/src/bin/auth/auth_srv.cc +++ b/src/bin/auth/auth_srv.cc @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include @@ -99,7 +99,7 @@ public: IOService io_service_; - MessageRendererHandle renderer_handle_; + MessageRenderer renderer_; /// Currently non-configurable, but will be. static const uint16_t DEFAULT_LOCAL_UDPSIZE = 4096; @@ -557,18 +557,18 @@ AuthSrvImpl::processNormalQuery(const IOMessage& io_message, MessagePtr message, return (true); } - renderer_handle_.setBuffer(buffer.get()); + renderer_.clear(); + renderer_.setBuffer(buffer.get()); const bool udp_buffer = (io_message.getSocket().getProtocol() == IPPROTO_UDP); - renderer_handle_.setLengthLimit(udp_buffer ? remote_bufsize : 65535); + renderer_.setLengthLimit(udp_buffer ? remote_bufsize : 65535); if (tsig_context.get() != NULL) { - message->toWire(renderer_handle_.getRenderer(), *tsig_context); + message->toWire(renderer_, *tsig_context); } else { - message->toWire(renderer_handle_.getRenderer()); + message->toWire(renderer_); } - renderer_handle_.setBuffer(NULL); LOG_DEBUG(auth_logger, DBG_AUTH_MESSAGES, AUTH_SEND_NORMAL_RESPONSE) - .arg(renderer_handle_.getLength()).arg(message->toText()); + .arg(renderer_.getLength()).arg(message->toText()); return (true); } @@ -687,13 +687,13 @@ AuthSrvImpl::processNotify(const IOMessage& io_message, MessagePtr message, message->setHeaderFlag(Message::HEADERFLAG_AA); message->setRcode(Rcode::NOERROR()); - renderer_handle_.setBuffer(buffer.get()); + renderer_.clear(); + renderer_.setBuffer(buffer.get()); if (tsig_context.get() != NULL) { - message->toWire(renderer_handle_.getRenderer(), *tsig_context); + message->toWire(renderer_, *tsig_context); } else { - message->toWire(renderer_handle_.getRenderer()); + message->toWire(renderer_); } - renderer_handle_.setBuffer(NULL); return (true); } diff --git a/src/lib/dns/messagerenderer.cc b/src/lib/dns/messagerenderer.cc index bf4795acaf..53b8e77e62 100644 --- a/src/lib/dns/messagerenderer.cc +++ b/src/lib/dns/messagerenderer.cc @@ -280,7 +280,7 @@ AbstractMessageRenderer::AbstractMessageRenderer() : } void -AbstractMessageRenderer::setBuffer(OutputBuffer* buffer) { +AbstractMessageRenderer::setBuffer(OutputBuffer* buffer) { if (buffer != NULL && buffer_->getLength() != 0) { isc_throw(isc::InvalidParameter, "MessageRenderer buffer cannot be set when in use"); diff --git a/src/lib/dns/messagerendererhandle.h b/src/lib/dns/messagerendererhandle.h deleted file mode 100644 index be813c4770..0000000000 --- a/src/lib/dns/messagerendererhandle.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") -// -// Permission to use, copy, modify, and/or distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH -// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, -// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -// PERFORMANCE OF THIS SOFTWARE. - -#ifndef __MESSAGERENDERERHANDLE_H -#define __MESSAGERENDERERHANDLE_H 1 - -#include - -namespace isc { - -namespace dns { - -/// The \c MessageRendererHandle is a handle class for -/// \c MessageRendere. -/// -/// A \c MessageRendererHandle object is constructed with a \c MessageRenderer -/// object. -class MessageRendererHandle { - /// - /// \name Constructors, Assignment Operator and Destructor. - /// - /// Note: The copy constructor and the assignment operator are - /// intentionally defined as private. - //@{ -private: - MessageRendererHandle(const MessageRendererHandle& renderer); - MessageRendererHandle& operator=(const MessageRendererHandle& renderer); -public: - /// The constructor. - /// - /// \param use_cache Whether to enable hot spot cache for lookup results. - /// \param xfrout_client Communication interface with a separate xfrout - /// process. It's normally a reference to an xfr::XfroutClient object, - /// but can refer to a local mock object for te - explicit MessageRendererHandle():renderer_(NULL){ - renderer_ = new MessageRenderer(); - } - ~MessageRendererHandle() { - if(NULL != renderer_) { - delete renderer_; - renderer_ = NULL; - } - } - //@} -public: - /// \brief Return the length of data written in the internal buffer. - size_t getLength() const { - return (renderer_->getLength()); - } - /// \brief Set the buffer. - void setBuffer(isc::util::OutputBuffer* buffer) { - renderer_->setBuffer(buffer); - } - MessageRenderer& getRenderer() const { - return *renderer_; - } - /// \brief Set the maximum length of rendered data that can fit in the - /// corresponding DNS message without truncation. - /// - /// \param len The maximum length in bytes. - void setLengthLimit(size_t len) { - renderer_->setLengthLimit(len); - } -private: - MessageRenderer * renderer_; -}; -} -} -#endif // __MESSAGERENDERERHANDLE_H - -// Local Variables: -// mode: c++ -// End: