RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException...

16
RabbitMQ .NET client library API guide

Transcript of RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException...

Page 1: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

RabbitMQ .NET client library API guide

Page 2: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Table of ContentsRabbitMQ .NET client library API guide.........................................................................................1

Copyright............................................................................................................................................1License...............................................................................................................................................1

Master Index....................................................................................................................................2Namespaces.......................................................................................................................................2Types..................................................................................................................................................2

Namespace RabbitMQ.Client...........................................................................................................8Summary............................................................................................................................................8Types..................................................................................................................................................8

Namespace RabbitMQ.Client.Content...........................................................................................10Summary..........................................................................................................................................10Types................................................................................................................................................10

Namespace RabbitMQ.Client.Events.............................................................................................11Summary..........................................................................................................................................11Types................................................................................................................................................11

Namespace RabbitMQ.Client.Exceptions......................................................................................12Summary..........................................................................................................................................12Types................................................................................................................................................12

Namespace RabbitMQ.Client.MessagePatterns............................................................................13Summary..........................................................................................................................................13Types................................................................................................................................................13

Namespace RabbitMQ.Util............................................................................................................14Summary..........................................................................................................................................14Types................................................................................................................................................14

RabbitMQ .NET client library API guide

i

Page 3: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

RabbitMQ .NET client library API guide

Copyright

This documentation is copyright (C) 2007-2013 GoPivotal, Inc.

License

This documentation is dual-licensed under the Apache License, version 2.0, and the Mozilla PublicLicense, version 1.1.

The APL v2.0:

Copyright (C) 2007-2013 GoPivotal, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this fileexcept 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 theLicense is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONSOF ANY KIND, either express or implied. See the License for the specific languagegoverning permissions and limitations under the License.

The MPL v1.1:

The contents of this file are subject to the Mozilla Public License Version 1.1 (the"License"); you may not use this file except in compliance with the License. You mayobtain a copy of the License at http://www.rabbitmq.com/mpl.html

Software distributed under the License is distributed on an "AS IS" basis, WITHOUTWARRANTY OF ANY KIND, either express or implied. See the License for the specificlanguage governing rights and limitations under the License.

The Original Code is RabbitMQ.

The Initial Developer of the Original Code is GoPivotal, Inc. Copyright (c) 2007-2013GoPivotal, Inc. All Rights Reserved.

RabbitMQ .NET client library API guide 1

Page 4: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Master Index

Namespaces

Namespace SummaryRabbitMQ.Client Main public API to the RabbitMQ .NET AMQP client library.

RabbitMQ.Client.ContentPublic API for construction and analysis of messages that arebinary-compatible with messages produced and consumed byQPid's JMS compatibility layer.

RabbitMQ.Client.Events Public API for various events and event handlers that are part ofthe AMQP client library.

RabbitMQ.Client.Exceptions Public API for exceptions visible to the user of the AMQP clientlibrary.

RabbitMQ.Client.MessagePatterns Public API for high-level helper classes and interface for commonways of using the AMQP client library.

RabbitMQ.Util Internal. Utility classes.Types

Type Summary

RabbitMQ.Client.AmqpTcpEndpointRepresents a TCP-addressable AMQPpeer, including the protocol variant touse, and a host name and portnumber.

RabbitMQ.Client.AmqpTimestamp Structure holding an AMQPtimestamp, a posix 64-bit time_t.

RabbitMQ.Client.AmqpVersion Represents a version of the AMQPspecification.

RabbitMQ.Client.AuthMechanism A pluggable authenticationmechanism.

RabbitMQ.Client.AuthMechanismFactory (undocumented)

RabbitMQ.Client.BasicGetResult Represents Basic.GetOk responsesfrom the server.

RabbitMQ.Client.BinaryTableValueWrapper for a byte[]. May appear asvalues read from and written toAMQP field tables.

RabbitMQ.Client.ConnectionFactoryMain entry point to the RabbitMQ.NET AMQP client API. ConstructsIConnection instances.

RabbitMQ.Client.ConnectionFactory.ObtainSocket (undocumented)

RabbitMQ.Client.Content.BasicMessageBuilderFramework for constructing varioustypes of AMQP Basic-class applicationmessages.

RabbitMQ.Client.Content.BasicMessageReaderFramework for analyzing varioustypes of AMQP Basic-class applicationmessages.

RabbitMQ.Client.Content.BytesMessageBuilderConstructs AMQP Basic-classmessages binary-compatible withQPid's "BytesMessage" wire encoding.

RabbitMQ.Client.Content.BytesMessageReaderAnalyzes AMQP Basic-class messagesbinary-compatible with QPid's"BytesMessage" wire encoding.

RabbitMQ.Client.Content.BytesWireFormattingInternal support class for use inreading and writing informationbinary-compatible with QPid's"BytesMessage" wire encoding.

Master Index 2

Page 5: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

RabbitMQ.Client.Content.IBytesMessageBuilderInterface for constructing messagesbinary-compatible with QPid's"BytesMessage" wire encoding.

RabbitMQ.Client.Content.IBytesMessageReaderAnalyzes messages binary-compatiblewith QPid's "BytesMessage" wireencoding.

RabbitMQ.Client.Content.IMapMessageBuilderInterface for constructing messagesbinary-compatible with QPid's"MapMessage" wire encoding.

RabbitMQ.Client.Content.IMapMessageReaderAnalyzes messages binary-compatiblewith QPid's "MapMessage" wireencoding.

RabbitMQ.Client.Content.IMessageBuilder Interface for constructing applicationmessages.

RabbitMQ.Client.Content.IMessageReader Interface for analyzing applicationmessages.

RabbitMQ.Client.Content.IStreamMessageBuilderInterface for constructing messagesbinary-compatible with QPid's"StreamMessage" wire encoding.

RabbitMQ.Client.Content.IStreamMessageReaderAnalyzes messages binary-compatiblewith QPid's "StreamMessage" wireencoding.

RabbitMQ.Client.Content.MapMessageBuilderConstructs AMQP Basic-classmessages binary-compatible withQPid's "MapMessage" wire encoding.

RabbitMQ.Client.Content.MapMessageReaderAnalyzes AMQP Basic-class messagesbinary-compatible with QPid's"MapMessage" wire encoding.

RabbitMQ.Client.Content.MapWireFormattingInternal support class for use inreading and writing informationbinary-compatible with QPid's"MapMessage" wire encoding.

RabbitMQ.Client.Content.PrimitiveParser Utility class for extracting typedvalues from strings.

RabbitMQ.Client.Content.StreamMessageBuilderConstructs AMQP Basic-classmessages binary-compatible withQPid's "StreamMessage" wireencoding.

RabbitMQ.Client.Content.StreamMessageReaderAnalyzes AMQP Basic-class messagesbinary-compatible with QPid's"StreamMessage" wire encoding.

RabbitMQ.Client.Content.StreamWireFormattingInternal support class for use inreading and writing informationbinary-compatible with QPid's"StreamMessage" wire encoding.

RabbitMQ.Client.Content.StreamWireFormattingTagTags used in parsing and generatingStreamWireFormatting messagebodies.

RabbitMQ.Client.DefaultBasicConsumerUseful default/base implementation ofIBasicConsumer. Subclass andoverride HandleBasicDeliver inapplication code.

RabbitMQ.Client.Events.BasicAckEventArgsContains all the information about amessage acknowledged from anAMQP broker within the Basiccontent-class.

RabbitMQ.Client.Events.BasicAckEventHandler

RabbitMQ .NET client library API guide

Types 3

Page 6: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Delegate used to process Basic.Ackevents.

RabbitMQ.Client.Events.BasicDeliverEventArgsContains all the information about amessage delivered from an AMQPbroker within the Basic content-class.

RabbitMQ.Client.Events.BasicDeliverEventHandler Delegate used to processBasic.Deliver events.

RabbitMQ.Client.Events.BasicNackEventArgsContains all the information about amessage nack'd from an AMQP brokerwithin the Basic content-class.

RabbitMQ.Client.Events.BasicNackEventHandler Delegate used to process Basic.Nackevents.

RabbitMQ.Client.Events.BasicRecoverOkEventHandler Delegate used to processBasic.RecoverOk events.

RabbitMQ.Client.Events.BasicReturnEventArgsContains all the information about amessage returned from an AMQPbroker within the Basic content-class.

RabbitMQ.Client.Events.BasicReturnEventHandler Delegate used to processBasic.Return events.

RabbitMQ.Client.Events.CallbackExceptionEventArgsDescribes an exception that wasthrown during the library's invocationof an application-supplied callbackhandler.

RabbitMQ.Client.Events.CallbackExceptionEventHandlerCallback invoked when othercallbacks throw unexpectedexceptions.

RabbitMQ.Client.Events.ConnectionBlockedEventArgs Event relating to connection beingblocked

RabbitMQ.Client.Events.ConnectionBlockedEventHandler Delegate used to process connectionblocked events.

RabbitMQ.Client.Events.ConnectionShutdownEventHandler Delegate used to process connectionshutdown notifications.

RabbitMQ.Client.Events.ConnectionUnblockedEventHandler Delegate used to process connectionunblocked events.

RabbitMQ.Client.Events.ConsumerCancelledEventHandler Delegate used to process consumercancellations.

RabbitMQ.Client.Events.ConsumerEventArgs Event relating to a successfulconsumer registration or cancellation.

RabbitMQ.Client.Events.ConsumerEventHandlerCallback for events relating toconsumer registration andcancellation.

RabbitMQ.Client.Events.ConsumerShutdownEventHandler Callback for events relating toconsumer shutdown.

RabbitMQ.Client.Events.EventingBasicConsumerExperimental class exposing anIBasicConsumer's methods asseparate events.

RabbitMQ.Client.Events.FlowControlEventArgs Event relating to flow control

RabbitMQ.Client.Events.FlowControlEventHandler Delegate used to process flow controlevents.

RabbitMQ.Client.Events.ModelShutdownEventHandler Delegate used to process modelshutdown notifications.

RabbitMQ.Client.Exceptions.AlreadyClosedExceptionThrown when the application tries tomake use of a session or connectionthat has already been shut down.

RabbitMQ.Client.Exceptions.AuthenticationFailureException Thrown when the cause is anauthentication failure.

RabbitMQ .NET client library API guide

Types 4

Page 7: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

RabbitMQ.Client.Exceptions.BrokerUnreachableExceptionThrown when no connection could beopened during aConnectionFactory.CreateConnectionattempt.

RabbitMQ.Client.Exceptions.ChannelAllocationExceptionThrown when a SessionManagercannot allocate a new channelnumber, or the requested channelnumber is already in use.

RabbitMQ.Client.Exceptions.ConnectFailureException Thrown when a connection to thebroker fails

RabbitMQ.Client.Exceptions.OperationInterruptedException

Thrown when a session is destroyedduring an RPC call to a broker. Forexample, if a TCP connectiondropping causes the destruction of asession in the middle of aQueueDeclare operation, anOperationInterruptedException willbe thrown to the caller ofIModel.QueueDeclare.

RabbitMQ.Client.Exceptions.PacketNotRecognizedException

Thrown to indicate that the peerdidn't understand the packet receivedfrom the client. Peer sent defaultmessage describing protocol versionit is using and transport parameters.

RabbitMQ.Client.Exceptions.PossibleAuthenticationFailureException Thrown when the likely cause is anauthentication failure.

RabbitMQ.Client.Exceptions.ProtocolVersionMismatchExceptionThrown to indicate that the peer doesnot support the wire protocol versionwe requested immediately afteropening the TCP socket.

RabbitMQ.Client.Exceptions.UnexpectedMethodException Thrown when the model receives anRPC reply that it wasn't expecting.

RabbitMQ.Client.Exceptions.UnsupportedMethodException Thrown when the model receives anRPC request it cannot satisfy.

RabbitMQ.Client.Exceptions.UnsupportedMethodFieldException

Thrown when the model cannottransmit a method field because theversion of the protocol the model isimplementing does not contain adefinition for the field in question.

RabbitMQ.Client.Exceptions.WireFormattingExceptionThrown when the wire-formattingcode cannot encode a particular .NETvalue to AMQP protocol format.

RabbitMQ.Client.ExchangeTypeConvenience class providingcompile-time names for standardexchange types.

RabbitMQ.Client.ExternalMechanism (undocumented)RabbitMQ.Client.ExternalMechanismFactory (undocumented)

RabbitMQ.Client.IBasicConsumerConsumer interface for Basiccontent-class. Used to receivemessages from a queue bysubscription.

RabbitMQ.Client.IBasicProperties

Common AMQP Basic content-classheaders interface, spanning the unionof the functionality offered byversions 0-8, 0-8qpid, 0-9 and 0-9-1 ofAMQP.

RabbitMQ.Client.IConnection Main interface to an AMQPconnection.

RabbitMQ .NET client library API guide

Types 5

Page 8: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

RabbitMQ.Client.IContentHeader A decoded AMQP content headerframe.

RabbitMQ.Client.IFileProperties

Common AMQP File content-classheaders interface, spanning the unionof the functionality offered byversions 0-8, 0-8qpid, 0-9 and 0-9-1 ofAMQP.

RabbitMQ.Client.IMethod A decoded AMQP method frame.

RabbitMQ.Client.IModelCommon AMQP model, spanning theunion of the functionality offered byversions 0-8, 0-8qpid, 0-9 and 0-9-1 ofAMQP.

RabbitMQ.Client.IProtocolObject describing various overarchingparameters associated with aparticular AMQP protocol variant.

RabbitMQ.Client.IStreamProperties

Common AMQP Stream content-classheaders interface, spanning the unionof the functionality offered byversions 0-8, 0-8qpid, 0-9 and 0-9-1 ofAMQP.

RabbitMQ.Client.MessagePatterns.SimpleRpcClient Implements a simple RPC client.

RabbitMQ.Client.MessagePatterns.SimpleRpcServerImplements a simple RPC service,responding to requests received via aSubscription.

RabbitMQ.Client.MessagePatterns.Subscription Manages a subscription to a queue orexchange.

RabbitMQ.Client.PlainMechanism (undocumented)RabbitMQ.Client.PlainMechanismFactory (undocumented)

RabbitMQ.Client.ProtocolsConcrete, predefined IProtocolinstances ready for use withConnectionFactory.

RabbitMQ.Client.PublicationAddressContainer for an exchange name,exchange type and routing key, usableas the target address of a message tobe published.

RabbitMQ.Client.QueueDeclareOk (undocumented)

RabbitMQ.Client.QueueingBasicConsumerSimple IBasicConsumerimplementation that uses aSharedQueue to buffer incomingdeliveries.

RabbitMQ.Client.ShutdownEventArgsInformation about the reason why aparticular model, session, orconnection was destroyed.

RabbitMQ.Client.ShutdownInitiator Describes the source of a shutdownevent.

RabbitMQ.Client.ShutdownReportEntrySingle entry object in the shutdownreport that encapsulates descriptionof the error which occured duringshutdown

RabbitMQ.Client.SslHelper

Represents an SslHelper which doesthe actual heavy lifting to set up anSSL connection, using the configoptions in an SslOption to makethings cleaner

RabbitMQ.Client.SslOption Represents a configurable SSL option,used in setting up an SSL connection.

RabbitMQ.Util.BlockingCell

RabbitMQ .NET client library API guide

Types 6

Page 9: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

A thread-safe single-assignmentreference cell.

RabbitMQ.Util.DebugUtil Miscellaneous debugging anddevelopment utilities.

RabbitMQ.Util.EitherModels the disjoint union of twoalternatives, a "left" alternative and a"right" alternative.

RabbitMQ.Util.EitherAlternative Used internally by class Either.RabbitMQ.Util.IntAllocator (undocumented)RabbitMQ.Util.IntAllocator.IntervalList (undocumented)

RabbitMQ.Util.NetworkBinaryReader Subclass of BinaryReader that readsintegers etc in correct network order.

RabbitMQ.Util.NetworkBinaryWriter Subclass of BinaryWriter that writesintegers etc in correct network order.

RabbitMQ.Util.SharedQueue A thread-safe shared queueimplementation.

RabbitMQ.Util.SharedQueue<T> A thread-safe shared queueimplementation.

RabbitMQ.Util.SharedQueueEnumerator<T>Implementation of the IEnumeratorinterface, for permitting SharedQueueto be used in foreach loops.

RabbitMQ.Util.SynchronizedList<T> (undocumented)RabbitMQ.Util.XmlUtil Miscellaneous helpful XML utilities.Index

RabbitMQ .NET client library API guide

Types 7

Page 10: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.ClientSummary

Main public API to the RabbitMQ .NET AMQP client library.Types

Type Summary

AmqpTcpEndpoint Represents a TCP-addressable AMQP peer, including the protocolvariant to use, and a host name and port number.

AmqpTimestamp Structure holding an AMQP timestamp, a posix 64-bit time_t.AmqpVersion Represents a version of the AMQP specification.AuthMechanism A pluggable authentication mechanism.AuthMechanismFactory (undocumented)BasicGetResult Represents Basic.GetOk responses from the server.

BinaryTableValue Wrapper for a byte[]. May appear as values read from and written toAMQP field tables.

ConnectionFactory Main entry point to the RabbitMQ .NET AMQP client API. ConstructsIConnection instances.

DefaultBasicConsumer Useful default/base implementation of IBasicConsumer. Subclassand override HandleBasicDeliver in application code.

ExchangeType Convenience class providing compile-time names for standardexchange types.

ExternalMechanism (undocumented)ExternalMechanismFactory (undocumented)

IBasicConsumer Consumer interface for Basic content-class. Used to receivemessages from a queue by subscription.

IBasicPropertiesCommon AMQP Basic content-class headers interface, spanning theunion of the functionality offered by versions 0-8, 0-8qpid, 0-9 and0-9-1 of AMQP.

IConnection Main interface to an AMQP connection.IContentHeader A decoded AMQP content header frame.

IFilePropertiesCommon AMQP File content-class headers interface, spanning theunion of the functionality offered by versions 0-8, 0-8qpid, 0-9 and0-9-1 of AMQP.

IMethod A decoded AMQP method frame.

IModel Common AMQP model, spanning the union of the functionalityoffered by versions 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP.

IProtocol Object describing various overarching parameters associated with aparticular AMQP protocol variant.

IStreamPropertiesCommon AMQP Stream content-class headers interface, spanningthe union of the functionality offered by versions 0-8, 0-8qpid, 0-9and 0-9-1 of AMQP.

ConnectionFactory.ObtainSocket (undocumented)PlainMechanism (undocumented)PlainMechanismFactory (undocumented)

Protocols Concrete, predefined IProtocol instances ready for use withConnectionFactory.

PublicationAddress Container for an exchange name, exchange type and routing key,usable as the target address of a message to be published.

QueueDeclareOk (undocumented)

QueueingBasicConsumer Simple IBasicConsumer implementation that uses a SharedQueue tobuffer incoming deliveries.

Namespace RabbitMQ.Client 8

Page 11: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

ShutdownEventArgs Information about the reason why a particular model, session, orconnection was destroyed.

ShutdownInitiator Describes the source of a shutdown event.

ShutdownReportEntry Single entry object in the shutdown report that encapsulatesdescription of the error which occured during shutdown

SslHelperRepresents an SslHelper which does the actual heavy lifting to setup an SSL connection, using the config options in an SslOption tomake things cleaner

SslOption Represents a configurable SSL option, used in setting up an SSLconnection.

Index

RabbitMQ .NET client library API guide

Types 9

Page 12: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.Client.ContentSummary

Public API for construction and analysis of messages that are binary-compatible with messages producedand consumed by QPid's JMS compatibility layer.Types

Type Summary

BasicMessageBuilder Framework for constructing various types of AMQP Basic-class applicationmessages.

BasicMessageReader Framework for analyzing various types of AMQP Basic-class applicationmessages.

BytesMessageBuilder Constructs AMQP Basic-class messages binary-compatible with QPid's"BytesMessage" wire encoding.

BytesMessageReader Analyzes AMQP Basic-class messages binary-compatible with QPid's"BytesMessage" wire encoding.

BytesWireFormatting Internal support class for use in reading and writing informationbinary-compatible with QPid's "BytesMessage" wire encoding.

IBytesMessageBuilder Interface for constructing messages binary-compatible with QPid's"BytesMessage" wire encoding.

IBytesMessageReader Analyzes messages binary-compatible with QPid's "BytesMessage" wireencoding.

IMapMessageBuilder Interface for constructing messages binary-compatible with QPid's"MapMessage" wire encoding.

IMapMessageReader Analyzes messages binary-compatible with QPid's "MapMessage" wireencoding.

IMessageBuilder Interface for constructing application messages.IMessageReader Interface for analyzing application messages.

IStreamMessageBuilder Interface for constructing messages binary-compatible with QPid's"StreamMessage" wire encoding.

IStreamMessageReader Analyzes messages binary-compatible with QPid's "StreamMessage" wireencoding.

MapMessageBuilder Constructs AMQP Basic-class messages binary-compatible with QPid's"MapMessage" wire encoding.

MapMessageReader Analyzes AMQP Basic-class messages binary-compatible with QPid's"MapMessage" wire encoding.

MapWireFormatting Internal support class for use in reading and writing informationbinary-compatible with QPid's "MapMessage" wire encoding.

PrimitiveParser Utility class for extracting typed values from strings.

StreamMessageBuilder Constructs AMQP Basic-class messages binary-compatible with QPid's"StreamMessage" wire encoding.

StreamMessageReader Analyzes AMQP Basic-class messages binary-compatible with QPid's"StreamMessage" wire encoding.

StreamWireFormatting Internal support class for use in reading and writing informationbinary-compatible with QPid's "StreamMessage" wire encoding.

StreamWireFormattingTag Tags used in parsing and generating StreamWireFormatting message bodies.Index

Namespace RabbitMQ.Client.Content 10

Page 13: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.Client.EventsSummary

Public API for various events and event handlers that are part of the AMQP client library.Types

Type Summary

BasicAckEventArgs Contains all the information about a message acknowledged froman AMQP broker within the Basic content-class.

BasicAckEventHandler Delegate used to process Basic.Ack events.

BasicDeliverEventArgs Contains all the information about a message delivered from anAMQP broker within the Basic content-class.

BasicDeliverEventHandler Delegate used to process Basic.Deliver events.

BasicNackEventArgs Contains all the information about a message nack'd from an AMQPbroker within the Basic content-class.

BasicNackEventHandler Delegate used to process Basic.Nack events.BasicRecoverOkEventHandler Delegate used to process Basic.RecoverOk events.

BasicReturnEventArgs Contains all the information about a message returned from anAMQP broker within the Basic content-class.

BasicReturnEventHandler Delegate used to process Basic.Return events.

CallbackExceptionEventArgs Describes an exception that was thrown during the library'sinvocation of an application-supplied callback handler.

CallbackExceptionEventHandler Callback invoked when other callbacks throw unexpectedexceptions.

ConnectionBlockedEventArgs Event relating to connection being blockedConnectionBlockedEventHandler Delegate used to process connection blocked events.ConnectionShutdownEventHandler Delegate used to process connection shutdown notifications.ConnectionUnblockedEventHandler Delegate used to process connection unblocked events.ConsumerCancelledEventHandler Delegate used to process consumer cancellations.

ConsumerEventArgs Event relating to a successful consumer registration orcancellation.

ConsumerEventHandler Callback for events relating to consumer registration andcancellation.

ConsumerShutdownEventHandler Callback for events relating to consumer shutdown.

EventingBasicConsumer Experimental class exposing an IBasicConsumer's methods asseparate events.

FlowControlEventArgs Event relating to flow controlFlowControlEventHandler Delegate used to process flow control events.ModelShutdownEventHandler Delegate used to process model shutdown notifications.Index

Namespace RabbitMQ.Client.Events 11

Page 14: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.Client.ExceptionsSummary

Public API for exceptions visible to the user of the AMQP client library.Types

Type Summary

AlreadyClosedException Thrown when the application tries to make use of a sessionor connection that has already been shut down.

AuthenticationFailureException Thrown when the cause is an authentication failure.

BrokerUnreachableException Thrown when no connection could be opened during aConnectionFactory.CreateConnection attempt.

ChannelAllocationExceptionThrown when a SessionManager cannot allocate a newchannel number, or the requested channel number isalready in use.

ConnectFailureException Thrown when a connection to the broker fails

OperationInterruptedException

Thrown when a session is destroyed during an RPC call to abroker. For example, if a TCP connection dropping causesthe destruction of a session in the middle of aQueueDeclare operation, anOperationInterruptedException will be thrown to the callerof IModel.QueueDeclare.

PacketNotRecognizedExceptionThrown to indicate that the peer didn't understand thepacket received from the client. Peer sent default messagedescribing protocol version it is using and transportparameters.

PossibleAuthenticationFailureException Thrown when the likely cause is an authentication failure.

ProtocolVersionMismatchExceptionThrown to indicate that the peer does not support the wireprotocol version we requested immediately after openingthe TCP socket.

UnexpectedMethodException Thrown when the model receives an RPC reply that itwasn't expecting.

UnsupportedMethodException Thrown when the model receives an RPC request it cannotsatisfy.

UnsupportedMethodFieldExceptionThrown when the model cannot transmit a method fieldbecause the version of the protocol the model isimplementing does not contain a definition for the field inquestion.

WireFormattingException Thrown when the wire-formatting code cannot encode aparticular .NET value to AMQP protocol format.

Index

Namespace RabbitMQ.Client.Exceptions 12

Page 15: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.Client.MessagePatternsSummary

Public API for high-level helper classes and interface for common ways of using the AMQP client library.Types

Type SummarySimpleRpcClient Implements a simple RPC client.SimpleRpcServer Implements a simple RPC service, responding to requests received via a Subscription.Subscription Manages a subscription to a queue or exchange.Index

Namespace RabbitMQ.Client.MessagePatterns 13

Page 16: RabbitMQ .NET client library API guide · RabbitMQ.Client.Exceptions.ChannelAllocationException Thrown when a SessionManager cannot allocate a new channel number, or the requested

Namespace RabbitMQ.UtilSummary

Internal. Utility classes.Types

Type SummaryBlockingCell A thread-safe single-assignment reference cell.DebugUtil Miscellaneous debugging and development utilities.

Either Models the disjoint union of two alternatives, a "left" alternative and a"right" alternative.

EitherAlternative Used internally by class Either.IntAllocator (undocumented)IntAllocator.IntervalList (undocumented)NetworkBinaryReader Subclass of BinaryReader that reads integers etc in correct network order.NetworkBinaryWriter Subclass of BinaryWriter that writes integers etc in correct network order.SharedQueue A thread-safe shared queue implementation.SharedQueue<T> A thread-safe shared queue implementation.

SharedQueueEnumerator<T> Implementation of the IEnumerator interface, for permitting SharedQueueto be used in foreach loops.

SynchronizedList<T> (undocumented)XmlUtil Miscellaneous helpful XML utilities.

Namespace RabbitMQ.Util 14