Ejemplo n.º 1
0
        private static void Main(string[] args)
        {
            ServiceHost   host    = new ServiceHost(typeof(SecondaryServer));
            NetTcpBinding binding = new NetTcpBinding();

            host.AddServiceEndpoint(typeof(ISecondaryServer), binding, new Uri("net.tcp://localhost:8888/ISecondaryServer"));

            //binding.Security.Mode = SecurityMode.Transport;
            //binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
            //binding.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;

            //host2 sluzi za replikaciju

            EndpointAddress address2 = new EndpointAddress(new Uri("net.tcp://localhost:4000/Replication"));
            NetTcpBinding   binding2 = new NetTcpBinding();
            ChannelFactory <IReplication> factory = new ChannelFactory <IReplication>(binding2, address2);
            IReplication kanal = factory.CreateChannel();

            ServiceHost host2 = new ServiceHost(typeof(Replication));

            host2.Open();

            host.Open();


            Console.WriteLine("Secondary Server is started.");

            Console.ReadLine();
            host.Close();
        }
Ejemplo n.º 2
0
        void CreateAndRunReplication(uint replicationId)
        {
            // setup simulation run
            IReplication r = _replicationFactory.Create(
                new DataGatherer(replicationId),
                new EventQueueFactory(
                    _randomFactory.Create(),
                    _stationCount,
                    _highwayLength,
                    _channels,
                    _reserved)
                );

            // run simulation and measure how long it takes
            long before = DateTime.Now.Ticks;

            r.Run();
            long after = DateTime.Now.Ticks;

            // Collect and print required data
            _totalCollectedData += r.ReplicationData;
            _report(r.ReplicationData);
            Debug.WriteLine(
                string.Format("took {0}", new TimeSpan(after - before)));
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            while (true)
            {
                ChannelFactory <IReplication> cfIzvor = new ChannelFactory <IReplication>("Izvor");

                ChannelFactory <IReplication> cfOdrediste = new ChannelFactory <IReplication>("Odrediste");

                IReplication kIzvor     = cfIzvor.CreateChannel();
                IReplication kOdrediste = cfOdrediste.CreateChannel();

                List <string> ret = kIzvor.PreuzmiBazu();
                kOdrediste.PosaljiBazu(ret);
                Thread.Sleep(3000);
            }
        }
 public StateDataPacketHandler(IMutablePacket packet, IReplication worldDataReplication)
 {
     _packet = packet;
     _worldDataReplication = worldDataReplication;
 }
 public void SetUp()
 {
     _customCastObject = new CustomCastObjectMock();
     _dataMock         = new DataMock();
     _replicationMock  = new ReplicationMock(_customCastObject, _dataMock);
 }
Ejemplo n.º 6
0
        public UpdateStats(IReplication r, bool partial = true)
            : base(PacketCmd.PKT_S2C_CHAR_STATS)
        {
            Write(Environment.TickCount); // syncID
            Write((byte)1);               // updating 1 unit

            var values = r.Values;

            uint masterMask = 0;

            for (var i = 0; i < 6; i++)
            {
                for (var j = 0; j < 32; j++)
                {
                    var rep = values[i, j];
                    if (rep == null || !rep.Changed && partial)
                    {
                        continue;
                    }

                    masterMask |= 1u << i;
                    break;
                }
            }

            Write((byte)masterMask);
            Write(r.NetId);

            for (var i = 0; i < 6; i++)
            {
                uint fieldMask = 0;
                var  stream    = new MemoryStream();
                var  writer    = new BinaryWriter(stream);
                for (var j = 0; j < 32; j++)
                {
                    var rep = values[i, j];
                    if (rep == null || !rep.Changed && partial)
                    {
                        continue;
                    }

                    fieldMask |= 1u << j;
                    if (rep.IsFloat)
                    {
                        var source = BitConverter.GetBytes(rep.Value);

                        if (source[0] >= 0xFE)
                        {
                            writer.Write((byte)0xFE);
                        }

                        writer.Write(source);
                    }
                    else
                    {
                        var num = rep.Value;
                        while (num >= 0x80)
                        {
                            writer.Write((byte)(num | 0x80));
                            num >>= 7;
                        }

                        writer.Write((byte)num);
                    }
                }

                var data = stream.ToArray();
                if (data.Length > 0)
                {
                    Write(fieldMask);
                    Write((byte)data.Length);
                    Write(data);
                }
            }
        }