From f61e1ef7589da893b9b54448224dc0961515eb40 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 26 Oct 2007 19:48:31 +0000 Subject: Session resume support in client & broker: Client can resume a session after voluntary suspend() or network failure. Frames lost in network failure are automatically re-transmitted for transparent re-connection. client::Session improvements: - Locking to avoid races between network & user threads. - Replaced client::StateManager with sys::StateMonitor - avoid heap allocation. qpid::Exception clean up: - use QPID_MSG consistently to format exception messages. - throw typed exceptions (in reply_exceptions.h) for AMQP exceptions. - re-throw correct typed exception on client for exceptions from broker. - Removed QpidError.h rubygen/templates/constants.rb: - constants.h: Added FOO_CLASS_ID and FOO_BAR_METHOD_ID constants. - reply_constants.h: Added throwReplyException(code, text) log::Logger: - Fixed shutdown race in Statement::~Initializer() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@588761 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/QpidError.h | 79 ------------------------------------------------ 1 file changed, 79 deletions(-) delete mode 100644 cpp/src/qpid/QpidError.h (limited to 'cpp/src/qpid/QpidError.h') diff --git a/cpp/src/qpid/QpidError.h b/cpp/src/qpid/QpidError.h deleted file mode 100644 index 2ff6571365..0000000000 --- a/cpp/src/qpid/QpidError.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef __QpidError__ -#define __QpidError__ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -#include -#include -#include - -#include "Exception.h" - -namespace qpid { - -struct SrcLine { - public: - SrcLine(const std::string& file_="", int line_=0) : - file(file_), line(line_) {} - - std::string file; - int line; -}; - -class QpidError : public Exception -{ - public: - const int code; - SrcLine loc; - std::string msg; - - QpidError(); - - template - QpidError(int code_, const T& msg_, const SrcLine& loc_) throw() - : Exception(message(code_, boost::lexical_cast(msg_), loc_.file.c_str(), loc_.line)), - code(code_), loc(loc_), msg(boost::lexical_cast(msg_)) {} - - ~QpidError() throw(); - Exception::auto_ptr clone() const throw(); - void throwSelf() const; - - /** Format message for exception. */ - static std::string message(int code, const std::string& msg, const char* file, int line); -}; - - -} // namespace qpid - -#define SRCLINE ::qpid::SrcLine(__FILE__, __LINE__) - -#define QPID_ERROR(CODE, MESSAGE) ::qpid::QpidError((CODE), (MESSAGE), SRCLINE) - -#define THROW_QPID_ERROR(CODE, MESSAGE) throw QPID_ERROR(CODE,MESSAGE) - -#define THROW_QPID_ERRNO_IF(cond) if (cond) QPID_ERROR(INTERNAL, strError(errno)); - -const int PROTOCOL_ERROR = 10000; -const int APR_ERROR = 20000; -const int FRAMING_ERROR = 30000; -const int CLIENT_ERROR = 40000; -const int INTERNAL_ERROR = 50000; - -#endif -- cgit v1.2.1