summaryrefslogtreecommitdiff
path: root/examples/csharp/excs_repquote/RepConfig.cs
blob: 11503141b0cdbfa9498d6da4b1d4c3867c558999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*-
 * See the file LICENSE for redistribution information.
 *
 * Copyright (c) 2009, 2015 Oracle and/or its affiliates.  All rights reserved.
 *
 */
using System;
using System.Collections.Generic;
using System.Text;

using BerkeleyDB;

namespace excs_repquote
{
	public class RepConfig
	{
		/* Constant values used in the RepQuote application. */
		public static CacheInfo CACHESIZE = new CacheInfo(0, 10 * 1024 * 1024, 1);
		public static int SLEEPTIME = 5000;
		public static string progname = "RepQuoteExample";

		/* Member variables containing configuration information. */
		public AckPolicy ackPolicy;
		public bool bulk; /* Whether bulk transfer should be performed. */
		public string home; /* The home directory for rep files. */
		public DbSiteConfig localSite;
		public uint priority; /* Priority within the replication group. */
		public List<DbSiteConfig> remoteSites;
		public StartPolicy startPolicy; 

		public bool verbose;

		public RepConfig()
		{
			ackPolicy = AckPolicy.QUORUM;
			bulk = false;
			home = "";
			localSite = new DbSiteConfig();
			priority = 100;
			remoteSites = new List<DbSiteConfig>();
			startPolicy = StartPolicy.ELECTION;

			verbose = false;
		}
	}

	public enum StartPolicy { CLIENT, ELECTION, MASTER };
}