From 204b64f84bcec8d0997780b57627e465985bce96 Mon Sep 17 00:00:00 2001 From: Nipa Kumar Date: Fri, 1 Apr 2016 13:48:12 -0700 Subject: [PATCH] Handling of socket block on a TCP write by AgentDnsXmppChannel. Application should not free data sent over TCP socket as the TCP library takes care of memory management of the data. On a socket write block xmpp provides the facility to register a callback so application can handle the case. In case of agent, the inherent TCP library buffering should be sufficient and no action needed from the application as there is only one writer(DNS) on the socket. Change-Id: I73993d58ed84cdce97217038c3da17ac3f5142d2 Closes-Bug: 1561843 --- src/vnsw/agent/controller/controller_dns.cc | 6 ++---- src/vnsw/agent/controller/controller_dns.h | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/vnsw/agent/controller/controller_dns.cc b/src/vnsw/agent/controller/controller_dns.cc index 4c0017ecdbf..210377af7e7 100644 --- a/src/vnsw/agent/controller/controller_dns.cc +++ b/src/vnsw/agent/controller/controller_dns.cc @@ -48,7 +48,7 @@ bool AgentDnsXmppChannel::SendMsg(uint8_t *msg, std::size_t len) { return false; return channel_->Send((const uint8_t *)msg, len, xmps::DNS, - boost::bind(&AgentDnsXmppChannel::WriteReadyCb, this, msg, _1)); + boost::bind(&AgentDnsXmppChannel::WriteReadyCb, this, _1)); } void AgentDnsXmppChannel::ReceiveMsg(const XmppStanza::XmppMessage *msg) { @@ -76,9 +76,7 @@ std::string AgentDnsXmppChannel::ToString() const { return channel_->ToString(); } -void AgentDnsXmppChannel::WriteReadyCb(uint8_t *msg, - const boost::system::error_code &ec) { - delete [] msg; +void AgentDnsXmppChannel::WriteReadyCb(const boost::system::error_code &ec) { } void AgentDnsXmppChannel::XmppClientChannelEvent(AgentDnsXmppChannel *peer, diff --git a/src/vnsw/agent/controller/controller_dns.h b/src/vnsw/agent/controller/controller_dns.h index 77c0c666774..6344b4c6bda 100644 --- a/src/vnsw/agent/controller/controller_dns.h +++ b/src/vnsw/agent/controller/controller_dns.h @@ -48,8 +48,7 @@ class AgentDnsXmppChannel { void RegisterXmppChannel(XmppChannel *channel); protected: - virtual void WriteReadyCb(uint8_t *msg, - const boost::system::error_code &ec); + virtual void WriteReadyCb(const boost::system::error_code &ec); private: void ReceiveInternal(const XmppStanza::XmppMessage *msg);