C# Class MongoDB.Driver.Internal.MultipleInstanceMongoServerProxy

Base class for proxies that maintain multiple server instances.
Inheritance: IMongoServerProxy
Show file Open project: CloudMetal/mongo-csharp-driver

Public Methods

Method Description
ChooseServerInstance ( ReadPreference readPreference ) : MongoServerInstance

Chooses the server instance.

Connect ( System.TimeSpan timeout, ReadPreference readPreference ) : void

Connects to the instances respecting the timeout and readPreference.

Disconnect ( ) : void

Disconnects the server.

Ping ( ) : void

Checks whether the server is alive (throws an exception if not).

VerifyState ( ) : void

Verifies the state of the server.

Protected Methods

Method Description
ChooseServerInstance ( ConnectedInstanceCollection connectedInstances, ReadPreference readPreference ) : MongoServerInstance

Chooses the server instance.

DetermineServerState ( MongoServerState currentState, IEnumerable instances ) : MongoServerState

Determines the state of the server.

EnsureInstanceWithAddress ( MongoServerAddress address ) : void

Ensures that an instance with the address exists.

IsValidInstance ( MongoServerInstance instance ) : bool

Determines whether the instance is a valid. If not, the instance is removed.

MakeInstancesMatchAddresses ( IEnumerable addresses ) : void

Ensures that the current instance list has all the addresses provided and does not contain any not provided.

MultipleInstanceMongoServerProxy ( MongoServerSettings settings ) : System

Initializes a new instance of the MultipleInstanceMongoServerProxy class.

MultipleInstanceMongoServerProxy ( MongoServerSettings settings, IEnumerable instances, BlockingQueue connectionQueue, int connectionAttempt ) : System

Initializes a new instance of the MultipleInstanceMongoServerProxy class.

This constructor is used when the instances have already been instructed to connect.

ProcessConnectedInstanceStateChange ( MongoServerInstance instance ) : void

Processes the connected instance state change.

Private Methods

Method Description
AddInstance ( MongoServerInstance instance ) : void
ConnectInstance ( MongoServerInstance instance ) : void
InstanceStateChanged ( object sender, EventArgs e ) : void
ProcessInstanceStateChange ( MongoServerInstance instance ) : void
RemoveInstance ( MongoServerInstance instance ) : void
ThrowConnectionException ( ReadPreference readPreference ) : void

Method Details

ChooseServerInstance() protected abstract method

Chooses the server instance.
protected abstract ChooseServerInstance ( ConnectedInstanceCollection connectedInstances, ReadPreference readPreference ) : MongoServerInstance
connectedInstances ConnectedInstanceCollection The connected instances.
readPreference ReadPreference The read preference.
return MongoServerInstance

ChooseServerInstance() public method

Chooses the server instance.
public ChooseServerInstance ( ReadPreference readPreference ) : MongoServerInstance
readPreference ReadPreference The read preference.
return MongoServerInstance

Connect() public method

Connects to the instances respecting the timeout and readPreference.
public Connect ( System.TimeSpan timeout, ReadPreference readPreference ) : void
timeout System.TimeSpan The timeout.
readPreference ReadPreference The read preference.
return void

DetermineServerState() protected abstract method

Determines the state of the server.
protected abstract DetermineServerState ( MongoServerState currentState, IEnumerable instances ) : MongoServerState
currentState MongoServerState State of the current.
instances IEnumerable The instances.
return MongoServerState

Disconnect() public method

Disconnects the server.
public Disconnect ( ) : void
return void

EnsureInstanceWithAddress() protected method

Ensures that an instance with the address exists.
protected EnsureInstanceWithAddress ( MongoServerAddress address ) : void
address MongoServerAddress The address.
return void

IsValidInstance() protected abstract method

Determines whether the instance is a valid. If not, the instance is removed.
protected abstract IsValidInstance ( MongoServerInstance instance ) : bool
instance MongoServerInstance The instance.
return bool

MakeInstancesMatchAddresses() protected method

Ensures that the current instance list has all the addresses provided and does not contain any not provided.
protected MakeInstancesMatchAddresses ( IEnumerable addresses ) : void
addresses IEnumerable The addresses.
return void

MultipleInstanceMongoServerProxy() protected method

Initializes a new instance of the MultipleInstanceMongoServerProxy class.
protected MultipleInstanceMongoServerProxy ( MongoServerSettings settings ) : System
settings MongoServerSettings The settings.
return System

MultipleInstanceMongoServerProxy() protected method

Initializes a new instance of the MultipleInstanceMongoServerProxy class.
This constructor is used when the instances have already been instructed to connect.
protected MultipleInstanceMongoServerProxy ( MongoServerSettings settings, IEnumerable instances, BlockingQueue connectionQueue, int connectionAttempt ) : System
settings MongoServerSettings The settings.
instances IEnumerable The instances.
connectionQueue BlockingQueue The state change queue.
connectionAttempt int The connection attempt.
return System

Ping() public method

Checks whether the server is alive (throws an exception if not).
public Ping ( ) : void
return void

ProcessConnectedInstanceStateChange() protected method

Processes the connected instance state change.
protected ProcessConnectedInstanceStateChange ( MongoServerInstance instance ) : void
instance MongoServerInstance The instance.
return void

VerifyState() public method

Verifies the state of the server.
public VerifyState ( ) : void
return void