From 36e23bcefbf0a6893370cb041bd05a662f0b2758 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 18 Mar 2008 21:31:08 +0000 Subject: Make AsyncIOAcceptor multi-protocol: - ConnectionCodec interface replaces ConnectionInputHandle, moves encoding/decoding out of AsyncIOAcceptor. - ConnectionCodec::Factory replaces ConnectionInputHandlerFactory - Acceptor creates version-specific ConnectionCodec based on protocol header. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@638590 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/framing/ProtocolInitiation.cpp | 5 ++++- cpp/src/qpid/framing/ProtocolInitiation.h | 4 ++++ cpp/src/qpid/framing/amqp_framing.h | 1 - 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/framing') diff --git a/cpp/src/qpid/framing/ProtocolInitiation.cpp b/cpp/src/qpid/framing/ProtocolInitiation.cpp index 7164bceb12..50617de017 100644 --- a/cpp/src/qpid/framing/ProtocolInitiation.cpp +++ b/cpp/src/qpid/framing/ProtocolInitiation.cpp @@ -58,6 +58,9 @@ bool ProtocolInitiation::decode(Buffer& buffer){ } } -//TODO: this should prbably be generated from the spec at some point to keep the version numbers up to date + +std::ostream& operator<<(std::ostream& o, const framing::ProtocolInitiation& pi) { + return o << int(pi.getMajor()) << "-" << int(pi.getMinor()); +} }} // namespace qpid::framing diff --git a/cpp/src/qpid/framing/ProtocolInitiation.h b/cpp/src/qpid/framing/ProtocolInitiation.h index 31c73eb124..43e32da4cf 100644 --- a/cpp/src/qpid/framing/ProtocolInitiation.h +++ b/cpp/src/qpid/framing/ProtocolInitiation.h @@ -45,8 +45,12 @@ public: inline uint8_t getMajor() const { return version.getMajor(); } inline uint8_t getMinor() const { return version.getMinor(); } inline ProtocolVersion getVersion() const { return version; } + bool operator==(ProtocolVersion v) const { return v == getVersion(); } }; +std::ostream& operator<<(std::ostream& o, const framing::ProtocolInitiation& pi); + + } } diff --git a/cpp/src/qpid/framing/amqp_framing.h b/cpp/src/qpid/framing/amqp_framing.h index 9ce148a37b..4e4747c3f4 100644 --- a/cpp/src/qpid/framing/amqp_framing.h +++ b/cpp/src/qpid/framing/amqp_framing.h @@ -28,6 +28,5 @@ #include "AMQHeartbeatBody.h" #include "InputHandler.h" #include "OutputHandler.h" -#include "InitiationHandler.h" #include "ProtocolInitiation.h" #include "ProtocolVersion.h" -- cgit v1.2.1