mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
Builder of Aggregator.
This commit is contained in:
@@ -4,6 +4,7 @@ import com.alibaba.otter.canal.protocol.CanalPacket;
|
||||
import org.jboss.netty.channel.ChannelFuture;
|
||||
import org.jboss.netty.channel.ChannelFutureListener;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
@@ -39,4 +40,64 @@ public class ChannelFutureAggregator implements ChannelFutureListener {
|
||||
Throwable t = future.getCause();
|
||||
}
|
||||
}
|
||||
|
||||
public static class ClientRequestResult {
|
||||
|
||||
private String dest;
|
||||
|
||||
private CanalPacket.PacketType type;
|
||||
|
||||
private int amount;
|
||||
|
||||
private int errorCode;
|
||||
|
||||
private ClientRequestResult() {}
|
||||
|
||||
private ClientRequestResult(Builder builder) {
|
||||
this.dest = builder.dest;
|
||||
this.type = builder.type;
|
||||
this.amount = builder.amount;
|
||||
this.errorCode = builder.errorCode;
|
||||
}
|
||||
|
||||
private static class Builder {
|
||||
|
||||
private String dest;
|
||||
private CanalPacket.PacketType type;
|
||||
private int amount;
|
||||
private int errorCode;
|
||||
|
||||
public Builder dest(String dest) {
|
||||
this.dest = dest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder type(CanalPacket.PacketType type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder amount(int amount) {
|
||||
this.amount = amount;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder errorCode(int errorCode) {
|
||||
this.errorCode = errorCode;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder fromPrototype(ClientRequestResult prototype) {
|
||||
dest = prototype.dest;
|
||||
type = prototype.type;
|
||||
amount = prototype.amount;
|
||||
errorCode = prototype.errorCode;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ClientRequestResult build() {
|
||||
return new ClientRequestResult(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user