AMPS C# Client  5.3.5.0
AMPS C# Client for .NET
AMPS.Client Namespace Reference

Interface to provide a recovery point for a bookmark subscription. Used in the RecoveryPointAdapter interface for updates and recovery. More...

Classes

interface  Authenticator
 Interface used to authenticate an AMPS client user. If authentication was unsuccessful, then an AuthenticationException is thrown. The public repository contains implementations of the authenticator interface. You can use them as examples for your own implementations. More...
 
class  BlockPublishStore
 BlockPublishStore is a base class that implements the Store interface. It is designed for publish store implementations, allowing messages to be stored and managed efficiently. As messages are discarded, space in that buffer is marked "free" for future store operations. If messages are stored faster than they are published, the buffer is re-sized to create more capacity. More...
 
class  BookmarkRingBuffer
 A ring buffer of bookmarks and activation status. Used by all of the bookmark stores to track state of bookmarks we need to hold on to, either because they're active or because they're after an active one. More...
 
interface  BookmarkStore
 Defines the interface for bookmark stores, which are used by the AMPS.Client.Client to provide resumable subscriptions and client-side duplicate message handling. More...
 
interface  BookmarkStoreResizeHandler
 Interface used to indicate whether a BookmarkStore implementation is allowed to grow(or shrink) to the requested size. If the request to resize is denied, a BookmarkStore implementation may choose how to handle the failure: if the bookmark for a message cannot be successfully logged, an implementation may choose to throw an exception or may simply retry the operation until space is available. More...
 
class  Client
 The base AMPS client object used for AMPS applications that do not need a resilient connection to AMPS. Most production applications use the HAClient rather than Client. Each client object manages a single connection to AMPS. Each AMPS connection has a name, a specific transport (such as tcp), a protocol (used for framing messages to AMPS), and a message type(such as FIX or JSON). More...
 
interface  ClientDisconnectHandler
 Called in Client when the Client unintentionally disconnects from AMPS. This interface can be used to implement your own disconnect handler. It will notify you that a Client disconnected so that an action can be taken, such as doing a reconnect. More...
 
class  ActionDisconnectHandler
 Allows the use of an Action (i.e. lambda function with no return value) in any context where a ClientDisconnectHandler may be used. More...
 
class  Command
 Command is an encapsulation of a single AMPS command sent by the client. Using Command you can build valid commands to be executed either synchronously or asynchronously via the Client execute() method or asynchronously via the executeAsync() methods. More...
 
class  CommandId
 Used to give a unique identifier to a Command. This Id can be used to reference the command later, such as when unsubscribing a subscription command. More...
 
interface  CompletionListener
 This interface defines a contract for classes that wish to be notified upon the completion of a specific operation. More...
 
class  CompositeMessageBuilder
 Used to create payloads for AMPS composite messages, which are messages with a number of parts where each part is a complete message of a specific message type. For example, a composite message type of "composite-json-binary" may be declared on the server that combines a set of JSON headers with an opaque binary payload. CompositeMessageBuilder makes it easy to assemble this payload. More...
 
class  CompositeMessageParser
 Used to retrieve individual message parts from AMPS composite messages, which are messages where the data contains a number of parts and each part is a complete message of a specific message type. For example, a composite message type of "composite-json-binary" may be declared on the server that combines a set of JSON headers with an opaque binary payload. CompositeMessageParser makes it easy to retrieve the parts of a composite message from the composite message payload. More...
 
class  ConflatingRecoveryPointAdapter
 An implementation of the RecoveryPointAdapter interface that is meant to act as a wrapper around another recovery point adapter instance, delegating periodic updates to its wrapped adapter on an asynchronous update thread (which this instance starts). The intent is to decouple recovery state updates from message discards on a bookmark replay subscriptions so that fast paced subscriptions don't cause a rate of updates that consume too much bandwidth or overwhelm recovery point adapter implementations that use slower storage (slowing message discards). More...
 
class  ConnectionInfo
 
class  DefaultAuthenticator
 A default implementation of the Authenticator interface that is used for basic username/password authentication. More...
 
class  DefaultBookmarkStore
 A no-op default implementation of the BookmarkStore interface that does nothing. More...
 
class  DefaultCompletionListener
 A default implementation of the CompletionListener interface that provides an empty implementation for the completed method. More...
 
class  DefaultDisconnectHandler
 A default no-op implementation of the ClientDisconnectHandler and TransportDisconnectHandler interfaces that does nothing. More...
 
class  DefaultMessageHandler
 A default no-op implementation of the MessageHandler interface that does nothing. More...
 
class  DefaultServerChooser
 A simple ServerChooser that keeps a list of AMPS instances and Authenticators, and advances to the next one when failure occurs. More...
 
class  DefaultSubscriptionManager
 A no-op implementation of the SubscriptionManager interface that does nothing. More...
 
class  DynamicRecoveryPoint
 Interface to provide a recovery point for a bookmark subscription. Used in the RecoveryPointAdapter interface for updates and recovery. More...
 
class  DynamicRecoveryPointFactory
 Class for creating DynamicRecoveryPoint instances. More...
 
class  ExponentialDelayStrategy
 ExponentialDelayStrategy is an implementation that exponentially "backs off" when reconnecting to the same server, including optional jitter when backing off and a maximum amount of time to attempt reconnection before giving up entirely. More...
 
class  Integer
 
class  Long
 
class  ExtensionMethods
 
interface  FailedResubscribeHandler
 An interface for handling resubscribe failures after a client has failed over to a new server. More...
 
interface  FailedWriteHandler
 An interface for receiving information on messages that you've written, but for which the server indicates are not persisted because of a failure. More...
 
interface  FailedWriteHandlerV4
 An interface for receiving information on messages that you've written, but for which the server indicates are not persisted because of a failure. More...
 
class  FIXBuilder
 Used to build up message strings for FIX. More...
 
class  FixedDelayStrategy
 FixedDelayStrategy is an implementation that delays for a fixed time period, as specified in the constructor, when reconnecting to the same server as we were previously connected to, or if we are invoked again for the first server we ever tried. ReconnectDelayStrategy implementations are used by the HAClient. More...
 
class  FixedRecoveryPoint
 Interface to provide a recovery point for a bookmark subscription. Used in the RecoveryPointAdapter interface for updates and recovery. More...
 
class  FixedRecoveryPointFactory
 class for creating instances of FixedRecoveryPoint. More...
 
class  FIXMessage
 A message subclass used by FIXProtocolParser to aid in building Message instances parsed from the FIXProtocol. Generally not used directly by the end user. More...
 
class  FIXProtocol
 Implements the Protocol interface. Used to parse a byte stream as a series of messages. The byte stream must use the AMPS FIX protocol. More...
 
class  FIXProtocolParser
 Implements the ProtocolParser interface. Parses a byte stream using FIX protocol. More...
 
class  FIXShredder
 A parser class which converts a FIX message into a dictionary. More...
 
class  HAClient
 A highly-available AMPS Client object that automatically reconnects and re-subscribes to AMPS instances upon disconnect. More...
 
class  HandleTimeoutStream
 A Stream implementation that wraps a NetworkStream to keep timeout exceptions from escaping Read and causing the connection to close More...
 
class  HybridPublishStore
 A Store implementation that uses memory to hold the newest messages and rolls older messages over to a file. More...
 
class  JSONMessage
 A message subclass used by JSONProtocolParser to aid in building Message instances parsed from the JSONProtoco (i.e. the "amps" transport protocol). Generally not used directly by the end user. More...
 
class  JSONProtocol
 Implements the Protocol interface. Used to parse a byte stream as a series of messages. The byte stream must used AMPS FIX protocol. More...
 
class  JSONProtocolParser
 Implements the ProtocolParser interface. Parses a byte stream using JSON Protocol (AMPS Protocol). More...
 
class  LoggedBookmarkStore
 LoggedBookmarkStore implements a sequentially written log of incoming and discarded messages. The store tracks every bookmark processed in a file. An application should periodically call AMPS.Client.LoggedBookmarkStore.prune to manage the size of the file by removing outdated entries. When using LoggedBookmarkStore, it is important to note that this store is intended to provide the ability for the application to fall and resume. If your application does not require this fall-and-resume functionality, it is recommended to use a MemoryBookmarkStore. More...
 
class  MemoryBookmarkStore
 Implements a bookmark store useful for handling server failover scenarios, but without a backing store to recover from subscriber failure. More...
 
class  MemoryPublishStore
 An in-memory publish store, used to provide republish capability when in case of failover to an AMPS secondary. More...
 
class  MemoryStoreBuffer
 MemoryStoreBuffer is a wrapper for a list that maintains position. In order to do this, MemoryStoreBuffer uses a ByteBuffer. More...
 
class  MemorySubscriptionManager
 An in-memory implementation of SubscriptionManager. Used by HAClient. More...
 
class  Message
 All communication with AMPS occurs through passing Messages. The AMPS clients provide named convenience methods for core AMPS functionality. These named methods work by creating and sending Messages to AMPS. More...
 
interface  MessageHandler
 
class  ActionMessageHandler
 Allows usage of an Action (i.e. a lambda function with no return value) in the place of a MessageHandler throughout the AMPS api. More...
 
class  MessageRouter
 MessageRouter is used to register and manage a list of handler objects for messages, and then to route messages to those handlers as messages arrive. MessageRouter also "knows" about the meaning of AMPS acks and can use them to automatically clean up routes as acks arrive. More...
 
class  MessageStream
 MessageStream provides an iteration abstraction over the results of an AMPS command such as a subscribe, a SOW query, or SOW delete. MessageStream is produced when calling Client.execute() and continues iterating over the results until the connection is closed, or the iterator is explicitly closed, or when the SOW query is ended. You can use a MessageStream as you would other Iterators, for example, using a for loop (Java 1.7): More...
 
class  NVFIXBuilder
 Used to build up message strings for NVFIX. More...
 
class  NVFIXMessage
 A message subclass used by NVFIXProtocolParser to aid in building Message instances parsed from the NVFIXProtocol. Generally not used directly by end user. More...
 
class  NVFIXProtocol
 Implements the Portocol interface. Used to parse a byte stream as a series of messages. The byte stream must use the AMPS NVFIX protocol. More...
 
class  NVFIXProtocolParser
 Implements the ProtocolParser interface and extends FIXProtocolParser class. Parses a byte stream using NVFIX protocol. More...
 
class  NVFIXShredder
 A parser class that converts an NVFIX message into a Dictionary. More...
 
class  Pool
 A simple generic instance pool for objects that take a while to construct. More...
 
class  Properties
 Represents a collection of properties with string keys and string values. More...
 
interface  Protocol
 Interface representing an AMPS wire protocol. Classes that implement this interface aid in parsing a byte stream as a series of messages, formatted using one of the AMPS-supported protocols. More...
 
class  ProtocolFactory
 Class which creates Protocols as well as registering and unregistering them from a Dictionary. More...
 
interface  ProtocolParser
 Represents an interface for parsing protocols. More...
 
class  PublishStore
 PublishStore is a memory-mapped file-backed store for storing outgoing messages. As messages are stored, space is allocated from a pre-created flat buffer on disk. As messages are discarded, space in that buffer is marked "free" for future store operations. If messages are stored faster than they are published, the buffer is re-sized to create more capacity. PublishStore helps in keeping track of unacknowledged messages. If messages are published at a rate exceeding the storage capacity, the buffer is resized to accommodate more messages. More...
 
interface  PublishStoreResizeHandler
 Interface used to indicate whether a Store implementation is allowed to grow (or shrink) to the requested size. If the request to resize is denied, a Store implementation may fail the operation that resulted in the request to grow by throwing an exception. More...
 
interface  ReconnectDelayStrategy
 Reconnect delay strategy implementations are called by HAClient to determine how long to wait between attempts to connect or reconnect to a server. AMPS provides two predefined implementations:

See also
ExponentialDelayStrategy

ExponentialDelayStrategy and

See also
FixedDelayStrategy

FixedDelayStrategy More...

 
interface  RecoveryPoint
 Interface used by RecoveryPointAdapter's to represent a bookmark subscription's recovery state, to allow that subscription to be resumed in a reasonable place when the subscriber application exits and restarts. This is typically a representation for one or more bookmarks, similar to the MOST_RECENT state of a bookmark store that's used for resuming replays. </summart> More...
 
interface  RecoveryPointFactory
 Interface for creating recovery points. More...
 
interface  RecoveryPointAdapter
 An instance of this interface that can optionally be provided to MemoryBookmarkStore when it's constructed to persist recovery bookmark state for each bookmark replay subscription. The adapter can persist this state to an external store and retrieve it on application restart so that bookmark replay subscriptions can be continued approximately where they left off (with the possible delivery of some duplicate messages). Typically the constructor of any implementation class will take resources needed to connect to / authenticate with the external store and a unique AMPS client name or session name (that stays consistent across application runs) that identifies the AMPS client whose bookmark replay subscriptions want to have their recovery state persisted by this adapter. More...
 
class  RingBookmarkStore
 
class  SequencedRecoveryPoint
 Represents a recovery point with a sequence number. More...
 
interface  ServerChooser
 
class  SimpleReadBuffer
 Represents a simple read buffer used for reading byte data. More...
 
class  SOWRecoveryPointAdapter
 SOWRecoveryPointAdapter provides functionality for interacting with a SOW (State of the World) topic to facilitate recovery point adaptation. More...
 
interface  StoreReplayer
 
class  SOWDeleteTypes
 SOWDeleteTypes provides constants representing different types of delete operations in a SOW (State of the World) topic. More...
 
interface  Store
 
class  Subscription
 Represents a single subscription within a bookmark store implementation. This can aid in creating your own implementation of BookmarkStore. If you feel that your requirements warrant creating a customized bookmark store implementation, please contact AMPS support for further advice.
 
interface  SubscriptionManager
 Interface used to manage all subscriptions in AMPS. This includes: subscribing, unsubscribing and resubscribing. More...
 
class  TCPSTransport
 Implements a secure transport for communicating with AMPS over a SslStream. System.Net.Security.SslStream More...
 
class  TCPSTransportImpl
 The SSL Socket implementation of TCPSTransport. TCPS Transport delegates to an instance of this class. This is used internally by the client's transport. There is usually no reason to make direct use of it. Its functionality is best accessed via the client instance. More...
 
class  TCPTransportImpl
 Socket implementation for TCPTransport. TCP Transport delegates to an instance of this class. This is used internally by the client's transport. There is usually no reason to make direct use of it. Its functionality is best accessed via the client instance. More...
 
interface  ThreadCreatedHandler
 Interface for classes that handle AMPS messages. More...
 
class  ActionThreadCreatedHandler
 Allows usage of an Action (i.e. a lambda function with no return value) in the place of a MessageHandler throughout the AMPS api. More...
 
interface  Transport
 Interface that is used to manage and configure connections to AMPS. Typically a transport is created and used internally by Client instance. There is usually no reason to make direct use of it. Its functionality is best accessed via the client instance. More...
 
interface  TransportDisconnectHandler
 This class is used internally. Customers typically do not need to create their own implementations. This is used by the client's transport to notify the client of disconnection events. More...
 
class  TransportFactory
 Factory class that allows you to register and unregister handler classes for various connection URI prefixes. Handler class is expected to create a transport when asked. Built-in transports such as "tcp" cannot be unregistered. More...
 
class  TransportTraceFilter
 An implementation of TransportFilter that traces to a System.IO.TextWriter. To use, instantiate and hen pass to Transport's setTransportFilter, for example: More...
 
class  URIProperties
 Provides a Properties interface to the parameters passed in a URI without depending on System.Web. More...
 
class  Utilities
 
class  VersionInfo
 An IComparable representation of the server's version. More...
 
class  XMLMessage
 A message subclass used by XMLProtocolParser to aid in building Message instances parsed from the XMLProtocol. Generally not used by end user. More...
 
class  XMLProtocol
 Represents the XML protocol used in the AMPS client. More...
 
class  XMLProtocolParser
 Implements the ProtocolParser interface. Parses a byte stream using XML protocol. More...
 
class  ZlibIOStream
 A System.IO.Stream wrapper around the ComponentAce zlib implementation which works bidirectionally and eliminates a data copy. More...
 

Detailed Description

Interface to provide a recovery point for a bookmark subscription. Used in the RecoveryPointAdapter interface for updates and recovery.

A Key, Value mapping for metadata about the state of an AMPS connection.

Valid keys include:

     client.uri                      The URI this client is connected to, NULL if no connection has been attempted.
     client.name                     The name of this client.
     client.username                 The most recently-used username for this client.  NULL if no username is supplied.
     publishStore.unpersistedCount   The count of unpersisted messages in the local store.  NULL if no PublishStore has been set on the client.
     haClient.reconnectDelay         The delay between reconnect attempts.  NULL for non-HA clients.
     haClient.timeout                The default timeout used when re-logging on.  NULL for non-HA clients.

PublishStore that stores first in memory, and swaps excess out to disk.

RingBookmarkStore is an implementation of BookmarkStore that stores state on disk and in memory. For each subscription, RingBookmarkStore keeps the most recent bookmark B for which all messages prior to B have been discard()ed by the subscriber. As messages are logged and discarded, an in-memory array is used to track when a new bookmark can be logged.

Interface to provide a recovery point for a bookmark subscription. Used in the RecoveryPointAdapter interface for updates and recovery.

Interface for choosing amongst multiple instances for both initial connection and reconnection. Used by HAClient to pick an initial server, and then pick a new one on failure.