/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2001, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ package db.repquote_gsg; import java.util.Vector; import com.sleepycat.db.ReplicationHostAddress; import com.sleepycat.db.ReplicationManagerStartPolicy; import com.sleepycat.db.ReplicationManagerSiteConfig; public class RepConfig { // Constant values used in the RepQuote application. public static final String progname = "RepQuoteExampleGSG"; public static final int CACHESIZE = 10 * 1024 * 1024; public static final int SLEEPTIME = 5000; // Member variables containing configuration information. // String specifying the home directory for rep files. public String home; // Stores an optional set of "other" hosts. private Vector otherHosts; // Priority within the replication group. public int priority; public ReplicationManagerStartPolicy startPolicy; // The host address to listen to. private ReplicationManagerSiteConfig thisHost; // Member variables used internally. private int currOtherHost; private boolean gotListenAddress; public RepConfig() { startPolicy = ReplicationManagerStartPolicy.REP_ELECTION; home = ""; gotListenAddress = false; priority = 100; currOtherHost = 0; thisHost = new ReplicationManagerSiteConfig(); otherHosts = new Vector(); } public java.io.File getHome() { return new java.io.File(home); } public void setThisHost(String host, int port, boolean creator) { gotListenAddress = true; thisHost.setHost(host); thisHost.setPort(port); thisHost.setGroupCreator(creator); thisHost.setLocalSite(true); } public ReplicationManagerSiteConfig getThisHost() { if (!gotListenAddress) System.err.println("Warning: no host specified, returning default."); return thisHost; } public ReplicationHostAddress getThisHostAddress() { if (!gotListenAddress) System.err.println("Warning: no host specified, returning default."); return thisHost.getAddress(); } public boolean gotListenAddress() { return gotListenAddress; } public void addOtherHost(String host, int port) { ReplicationHostAddress newInfo = new ReplicationHostAddress(host, port); otherHosts.add(newInfo); } public ReplicationHostAddress getFirstOtherHost() { currOtherHost = 0; if (otherHosts.size() == 0) return null; return (ReplicationHostAddress)otherHosts.get(currOtherHost); } public ReplicationHostAddress getNextOtherHost() { currOtherHost++; if (currOtherHost >= otherHosts.size()) return null; return (ReplicationHostAddress)otherHosts.get(currOtherHost); } public ReplicationHostAddress getOtherHost(int i) { if (i >= otherHosts.size()) return null; return (ReplicationHostAddress)otherHosts.get(i); } }