C# 클래스 SportingSolutions.Udapi.Sdk.StreamController

The StreamController is responsible for managing the connection to the RabbitMQ streaming server. There is only ONE streaming connection, independently of how many resources/consumers are added. Each consumer has its own queue, but the connection is shared among all the consumers. If the connection goes down, all the consumers get disconnected. There is no automatic re-connection. A connection is (re)-established when the first consumer is added. Once a connection is established the StreamSubscriber object is set to read from the connection for any up coming messages. The StreamSubscriber then passed this object to the IDispatch object whose task it to dispatch the messages to the correct consumer.
상속: IDisposable
파일 보기 프로젝트 열기: sportingsolutions/SS.Integration.UnifiedDataAPIClient.DotNet 1 사용 예제들

Private Properties

프로퍼티 타입 설명
Connect void
StreamController System
StreamController System

공개 메소드들

메소드 설명
AddConsumer ( IConsumer consumer, int echoInterval, int echoMaxDelay ) : void
Dispose ( ) : void
RemoveConsumer ( IConsumer consumer ) : void
Shutdown ( ) : void

보호된 메소드들

메소드 설명
AddConsumerToQueue ( IConsumer consumer ) : void
CloseConnection ( ) : void
EstablishConnection ( ConnectionFactory factory ) : void
OnConnectionShutdown ( object sender, RabbitMQ.Client.ShutdownEventArgs sea ) : void
OnConnectionStatusChanged ( ConnectionState newState ) : void
RemoveConsumerFromQueue ( IConsumer consumer ) : void

비공개 메소드들

메소드 설명
Connect ( IConsumer consumer ) : void
StreamController ( ) : System
StreamController ( IDispatcher dispatcher ) : System

메소드 상세

AddConsumer() 공개 메소드

public AddConsumer ( IConsumer consumer, int echoInterval, int echoMaxDelay ) : void
consumer IConsumer
echoInterval int
echoMaxDelay int
리턴 void

AddConsumerToQueue() 보호된 메소드

protected AddConsumerToQueue ( IConsumer consumer ) : void
consumer IConsumer
리턴 void

CloseConnection() 보호된 메소드

protected CloseConnection ( ) : void
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

EstablishConnection() 보호된 메소드

protected EstablishConnection ( ConnectionFactory factory ) : void
factory RabbitMQ.Client.ConnectionFactory
리턴 void

OnConnectionShutdown() 보호된 메소드

protected OnConnectionShutdown ( object sender, RabbitMQ.Client.ShutdownEventArgs sea ) : void
sender object
sea RabbitMQ.Client.ShutdownEventArgs
리턴 void

OnConnectionStatusChanged() 보호된 메소드

protected OnConnectionStatusChanged ( ConnectionState newState ) : void
newState ConnectionState
리턴 void

RemoveConsumer() 공개 메소드

public RemoveConsumer ( IConsumer consumer ) : void
consumer IConsumer
리턴 void

RemoveConsumerFromQueue() 보호된 메소드

protected RemoveConsumerFromQueue ( IConsumer consumer ) : void
consumer IConsumer
리턴 void

Shutdown() 공개 메소드

public Shutdown ( ) : void
리턴 void