include/pulsar/Result.h (60 lines of code) (raw):

/** * 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. */ #ifndef ERROR_HPP_ #define ERROR_HPP_ #include <pulsar/defines.h> #include <iosfwd> namespace pulsar { /** * Collection of return codes */ enum Result { ResultRetryable = -1, /// An internal error code used for retry ResultOk = 0, /// Operation successful ResultUnknownError, /// Unknown error happened on broker ResultInvalidConfiguration, /// Invalid configuration ResultTimeout, /// Operation timed out ResultLookupError, /// Broker lookup failed ResultConnectError, /// Failed to connect to broker ResultReadError, /// Failed to read from socket ResultAuthenticationError, /// Authentication failed on broker ResultAuthorizationError, /// Client is not authorized to create producer/consumer ResultErrorGettingAuthenticationData, /// Client cannot find authorization data ResultBrokerMetadataError, /// Broker failed in updating metadata ResultBrokerPersistenceError, /// Broker failed to persist entry ResultChecksumError, /// Corrupt message checksum failure ResultConsumerBusy, /// Exclusive consumer is already connected ResultNotConnected, /// Producer/Consumer is not currently connected to broker ResultAlreadyClosed, /// Producer/Consumer is already closed and not accepting any operation ResultInvalidMessage, /// Error in publishing an already used message ResultConsumerNotInitialized, /// Consumer is not initialized ResultProducerNotInitialized, /// Producer is not initialized ResultProducerBusy, /// Producer with same name is already connected ResultTooManyLookupRequestException, /// Too Many concurrent LookupRequest ResultInvalidTopicName, /// Invalid topic name ResultInvalidUrl, /// Client Initialized with Invalid Broker Url (VIP Url passed to Client Constructor) ResultServiceUnitNotReady, /// Service Unit unloaded between client did lookup and producer/consumer got /// created ResultOperationNotSupported, ResultProducerBlockedQuotaExceededError, /// Producer is blocked ResultProducerBlockedQuotaExceededException, /// Producer is getting exception ResultProducerQueueIsFull, /// Producer queue is full ResultMessageTooBig, /// Trying to send a messages exceeding the max size ResultTopicNotFound, /// Topic not found ResultSubscriptionNotFound, /// Subscription not found ResultConsumerNotFound, /// Consumer not found ResultUnsupportedVersionError, /// Error when an older client/version doesn't support a required feature ResultTopicTerminated, /// Topic was already terminated ResultCryptoError, /// Error when crypto operation fails ResultIncompatibleSchema, /// Specified schema is incompatible with the topic's schema ResultConsumerAssignError, /// Error when a new consumer connected but can't assign messages to this /// consumer ResultCumulativeAcknowledgementNotAllowedError, /// Not allowed to call cumulativeAcknowledgement in /// Shared and Key_Shared subscription mode ResultTransactionCoordinatorNotFoundError, /// Transaction coordinator not found ResultInvalidTxnStatusError, /// Invalid txn status error ResultNotAllowedError, /// Not allowed ResultTransactionConflict, /// Transaction ack conflict ResultTransactionNotFound, /// Transaction not found ResultProducerFenced, /// Producer was fenced by broker ResultMemoryBufferIsFull, /// Client-wide memory limit has been reached ResultInterrupted, /// Interrupted while waiting to dequeue ResultDisconnected, /// Client connection has been disconnected }; // Return string representation of result code PULSAR_PUBLIC const char* strResult(Result result); PULSAR_PUBLIC std::ostream& operator<<(std::ostream& s, pulsar::Result result); } // namespace pulsar #endif /* ERROR_HPP_ */