Click or drag to resize
IMergedFeedListener Interface
A listener that merges together messages picked up by two or more listeners.

Namespace: VirtualRadar.Interface.Listener
Assembly: VirtualRadar.Interface (in VirtualRadar.Interface.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public interface IMergedFeedListener : IListener, 
	IBackgroundThreadExceptionCatcher, IDisposable

The IMergedFeedListener type exposes the following members.

Properties
  NameDescription
Public propertyBytesExtractor
Gets the object that can extract the important bytes from the stream. Do not modify any properties on the extractor directly, always use ChangeSource(IConnector, IMessageBytesExtractor, IRawMessageTranslator) to perform configuration changes.
(Inherited from IListener.)
Public propertyConnectionStatus
Gets a value indicating whether the listener is connected to the source of aircraft message data.
(Inherited from IListener.)
Public propertyConnector
Gets the connector that is handling the connection for the listener. Do not modify any properties on the connection directly, always use ChangeSource(IConnector, IMessageBytesExtractor, IRawMessageTranslator) to perform configuration changes.
(Inherited from IListener.)
Public propertyIcaoTimeout
Gets or sets the number of milliseconds that must elapse after the last message from a given ICAO on a receiver before that receiver is no longer considered to be the only source of messages for that ICAO.
Public propertyIgnoreAircraftWithNoPosition
Gets or sets a value indicating whether messages from aircraft are ignored until they transmit a position.
Public propertyIgnoreBadMessages
Gets or sets a value indicating whether exceptions thrown by the message translator cause a disconnection and raise ExceptionCaught or whether they are ignored.
(Inherited from IListener.)
Public propertyIsSatcomFeed
Gets or sets a value indicating that this is a satcom feed.
(Inherited from IListener.)
Public propertyListeners
Gets the list of listeners that will be merged into a single feed.
Public propertyRawMessageTranslator
Gets the object that translates raw messages into Port30003 format messages. Do not modify any properties on the translator directly, always use ChangeSource(IConnector, IMessageBytesExtractor, IRawMessageTranslator) to perform configuration changes.
(Inherited from IListener.)
Public propertyReceiverId
Gets or sets the identity of the receiver that is controlling this listener.
(Inherited from IListener.)
Public propertyReceiverName
Gets or sets the name of the receiver that is controlling this listener.
(Inherited from IListener.)
Public propertyStatistics
Gets the statistics for the listener.
(Inherited from IListener.)
Public propertyTotalBadMessages
Gets a count of the total number of messages that could not be translated.
(Inherited from IListener.)
Public propertyTotalMessages
Gets a count of the total number of messages received by the object.
(Inherited from IListener.)
Top
Methods
  NameDescription
Public methodChangeSource
Changes the connector and/or message bytes extractor used by the listener.
(Inherited from IListener.)
Public methodConnect
Connects to the source of aircraft data. Incoming messages from the source will raise events on the listener.
(Inherited from IListener.)
Public methodDisconnect
Called implicitly by Dispose, disconnects from the source of aircraft message data.
(Inherited from IListener.)
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from IDisposable.)
Public methodSetListeners
Sets the Listeners list.
Top
Events
  NameDescription
Public eventConnectionStateChanged
Raised when the listener connects or disconnects. Note that exceptions raised during parsing of messages will cause the object to automatically disconnect.
(Inherited from IListener.)
Public eventExceptionCaught
Raised when an exception is caught on the background thread. The background thread should not pass ThreadAbortException through this.
(Inherited from IBackgroundThreadExceptionCatcher.)
Public eventModeSBytesReceived
Raised when bytes representing a Mode-S message have been received. This may not be on the same thread that started the listener - however all messages are guaranteed to be transmitted in the order in which they were received.
(Inherited from IListener.)
Public eventModeSMessageReceived
Raised when a message has been received from the source of raw data. This may not be on the same thread that started the listener - however all messages are guaranteed to be transmitted in the order in which they were received.
(Inherited from IListener.)
Public eventPort30003MessageReceived
Raised when a message has been received from a source of Port30003 data. This may not be on the same thread that started the listener - however all messages are guaranteed to be transmitted in the order in which they were received.
(Inherited from IListener.)
Public eventPositionReset
Raised when a decoder that the listener is using to translate messages indicates that the previous position reported for an aircraft was wrong and that its position has been reset.
(Inherited from IListener.)
Public eventRawBytesReceived
Raised when bytes have been received from the data source. This may not be on the same thread that started the listener - however all messages are guaranteed to be transmitted in the order in which they were received.
(Inherited from IListener.)
Public eventSourceChanged
Raised when the listener is asked to change source of data. If the change in source causes a disconnect and reconnect then this event is raised after the disconnect but before the reconnect.
(Inherited from IListener.)
Top
Remarks

Calls on the merged feed's version of methods like Connect etc. have no effect on the receivers that the feed is merging together - all the merged feed is doing is taking the messages from the receivers and merging them together. Many properties, events and methods on IListener are stubs on the merged feed. The only properties, events and methods that are fully operational are:

TotalMessagesTotalBadMessagesExceptionCaughtPort30003MessageReceivedPositionReset

Specifically, the connection is always on and cannot be turned off. To control the receivers that the feed is merging you must send messages to each receiver.

See Also