Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import static io.tarantool.core.protocol.requests.IProtoAuth.DEFAULT_AUTH_TYPE;
import io.tarantool.core.protocol.requests.IProtoAuth.AuthType;
import io.tarantool.pool.availability.AvailabilityPolicy;

/**
* Class that implements a group of connections to a host.
Expand Down Expand Up @@ -84,6 +85,11 @@ public final class InstanceConnectionGroup {
/** Default netty flush handler. */
private final FlushConsolidationHandler flushConsolidationHandler;

/**
* @see AvailabilityPolicy
*/
private final AvailabilityPolicy availabilityPolicy;

/**
* Tag of group.
*
Expand Down Expand Up @@ -113,7 +119,8 @@ private InstanceConnectionGroup(
String user,
String password,
AuthType authType,
FlushConsolidationHandler flushConsolidationHandler)
FlushConsolidationHandler flushConsolidationHandler,
AvailabilityPolicy availabilityPolicy)
throws IllegalArgumentException {
if (user != null && user.equals("guest")) {
user = null;
Expand All @@ -130,6 +137,7 @@ private InstanceConnectionGroup(
this.tag = tag;
this.address = new InetSocketAddress(host, port);
this.flushConsolidationHandler = flushConsolidationHandler;
this.availabilityPolicy = availabilityPolicy;
}

/**
Expand Down Expand Up @@ -235,6 +243,10 @@ public FlushConsolidationHandler getFlushConsolidationHandler() {
return flushConsolidationHandler;
}

public AvailabilityPolicy getAvailabilityPolicy() {
return availabilityPolicy;
}

/** Builder of {@link InstanceConnectionGroup} class. */
public static class Builder {

Expand Down Expand Up @@ -276,6 +288,11 @@ public static class Builder {
/** Default netty flush handler. */
private FlushConsolidationHandler flushConsolidationHandler;

/**
* @see AvailabilityPolicy
*/
private AvailabilityPolicy availabilityPolicy;

/** Constructor of {@link Builder}. */
private Builder() {}

Expand Down Expand Up @@ -440,6 +457,14 @@ public Builder withFlushConsolidationHandler(
return this;
}

/**
* @see AvailabilityPolicy
*/
public Builder withAvailabilityPolicy(AvailabilityPolicy policy) {
this.availabilityPolicy = policy;
return this;
}

/**
* Builds {@link InstanceConnectionGroup} object.
*
Expand All @@ -455,7 +480,8 @@ public InstanceConnectionGroup build() {
this.user,
this.password,
this.authType,
this.flushConsolidationHandler);
this.flushConsolidationHandler,
this.availabilityPolicy);
}
}
}
Loading