コード例 #1
0
        static void Main(string[] args)
        {
            var ser    = new XmlSerializer(typeof(MasterConfiguration));
            var stream = new StreamWriter("device.xml");

            try
            {
                var config = new MasterConfiguration();
                ser.Serialize(stream, config);
            }
            finally
            {
                stream.Close();
            }
        }
コード例 #2
0
ファイル: NodeCore.cs プロジェクト: zhuliangbing/BrightstarDB
 public bool SetMaster(MasterConfiguration masterConfiguration)
 {
     _masterConfiguration = masterConfiguration;
     if (_masterConfiguration.WriteQuorum == 0)
     {
         // Don't need any slaves to enter running state
         _state = CoreState.RunningMaster;
     }
     else
     {
         // Need 1 or more slaves to connect before we enter running state
         _state = CoreState.WaitingForSlaves;
     }
     return(true);
 }
コード例 #3
0
ファイル: Server.cs プロジェクト: OptimShi/ACViewer
        public static void SetDatabaseConfig()
        {
            var masterConfig = new MasterConfiguration();

            masterConfig.MySql       = new DatabaseConfiguration();
            masterConfig.MySql.World = new MySqlConfiguration();

            masterConfig.MySql.World.Host     = Config.Database.Host;
            masterConfig.MySql.World.Port     = (uint)Config.Database.Port;
            masterConfig.MySql.World.Database = Config.Database.DatabaseName;
            masterConfig.MySql.World.Username = Config.Database.Username;
            masterConfig.MySql.World.Password = Config.Database.Password;

            ConfigManager.Initialize(masterConfig);
        }
コード例 #4
0
        public MasterConfiguration SaveMasterConfiguration(MasterConfiguration masterConfiguration, EncryptionInfo encryptionInfo)
        {
            if (File.Exists(Name))
                File.Delete(Name);

            string plainTextObjectData;
            plainTextObjectData = _objectSerializationProvider.Serialize(masterConfiguration);

            string encryptedObjectData;
            encryptedObjectData = _encryptionProvider.Encrypt(plainTextObjectData, encryptionInfo);

            using (StreamWriter writer = new StreamWriter(Name))
            {
                writer.Write(encryptedObjectData);
            }

            return GetMasterConfiguration(encryptionInfo);
        }
コード例 #5
0
        static void Main()
        {
            // Create a new serialization of MasterConfiguration
            XmlSerializer serializer = new XmlSerializer(typeof(MasterConfiguration));
            StreamWriter  stream     = new StreamWriter("device.xml");

            try
            {
                MasterConfiguration config = new MasterConfiguration();
                serializer.Serialize(stream, config);
            }
            finally
            {
                stream.Close();
            }

            // Restore example mapping and latest VC redistributable
            RestoreEmbeddedFiles();
        }
コード例 #6
0
        public MasterConfiguration SaveMasterConfiguration(MasterConfiguration masterConfiguration, EncryptionInfo encryptionInfo)
        {
            if (File.Exists(Name))
            {
                File.Delete(Name);
            }

            string plainTextObjectData;

            plainTextObjectData = _objectSerializationProvider.Serialize(masterConfiguration);

            string encryptedObjectData;

            encryptedObjectData = _encryptionProvider.Encrypt(plainTextObjectData, encryptionInfo);

            using (StreamWriter writer = new StreamWriter(Name))
            {
                writer.Write(encryptedObjectData);
            }

            return(GetMasterConfiguration(encryptionInfo));
        }
コード例 #7
0
        public MasterConfiguration GetMasterConfiguration(EncryptionInfo encryptionInfo)
        {
            if (File.Exists(Name) == false)
            {
                return(null);
            }

            string rawFileData;

            using (StreamReader reader = new StreamReader(Name))
            {
                rawFileData = reader.ReadToEnd();
            }

            string plainTextObjectData;

            plainTextObjectData = _encryptionProvider.Decrypt(rawFileData, encryptionInfo);

            MasterConfiguration mc = _objectSerializationProvider.Deserialize <MasterConfiguration>(plainTextObjectData);

            return(mc);
        }
コード例 #8
0
 public RelativeDataParser(IDynamicQuery dynamicQuery, MasterConfiguration masterConfiguration)
 {
     _masterConfiguration = masterConfiguration;
     _dynamicQuery        = dynamicQuery;
 }
コード例 #9
0
 public static InRepoConfiguration With(string alias, IRepositoryConfiguration configuration)
 {
     return(MasterConfiguration.With(alias, configuration));
 }
コード例 #10
0
        private void HandleClientRequest(object client)
        {
            var tcpClient    = (TcpClient)client;
            var clientStream = tcpClient.GetStream();

            // all message have a single line header and then data.
            var msg = Message.Read(clientStream);

            switch (msg.Header.ToLowerInvariant())
            {
            case "ping":
                SendMessage(clientStream, new Message("pong", String.Empty));
                break;

            case "master":
            {
                var  configuration = MasterConfiguration.FromMessage(msg);
                bool handledOk     = _requestHandler.SetMaster(configuration);
                SendMessage(clientStream, handledOk ? Message.ACK : Message.NAK);
                break;
            }

            case "slaveof":
            {
                var  args      = msg.Args.Split(' ');
                bool handledOk = _requestHandler.SlaveOf(args[0], Int32.Parse(args[1]));
                SendMessage(clientStream, handledOk ? Message.ACK : Message.NAK);
                break;
            }

            case "sync":
            {
                var dict = new Dictionary <string, string>();
                using (var reader = msg.GetContentReader())
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        var args      = line.Split('|');
                        var storeName = args[0];
                        var txnId     = args[1];
                        dict.Add(storeName, txnId);
                    }
                }

                var syncOk = _requestHandler.SyncSlave(
                    dict,
                    new SyncContext {
                        Connection = tcpClient
                    },
                    (context, message) => SendMessageAndWaitForAck(context.Connection, message));

                // Send endsync message
                var endsync = new Message("endsync", new[] { syncOk ? "OK" : "FAIL" });         // TODO: Body could provide some check - e.g. # messages sent in sync ?
                SendMessage(clientStream, endsync);
                break;
            }

            case "listen":
            {
                AddSlave(tcpClient);
                break;
            }
            }
        }