Esempio n. 1
0
        static void Main(String[] args)
        {
            log4net.Config.XmlConfigurator.Configure( );

            log.Debug(DateTime.Now.Ticks + " Metadata init...");

            //   if (!Debugger.IsAttached)
            //     Debugger.Launch();

            int             clientPort;
            String          clientHostName;
            List <ServerId> metaserverList = new List <ServerId>();

            int i = 0;

            for (i = 0; i < (args.Length - 2); i++)
            {
                ServerId metaServer = new ServerId();
                metaServer.hostname = args[i++];
                metaServer.port     = Convert.ToInt32(args[i]);
                metaServer.id       = Convert.ToString(i / 2);
                metaserverList.Add(metaServer);
            }
            clientPort     = Convert.ToInt32(args[i++]);
            clientId       = Convert.ToInt32(args[i]);
            clientHostName = ClientEntry.GetCurrentIp();

            RemotingConfiguration.Configure("../../App.config", true);
            ClientEntry client = new ClientEntry();

            Console.WriteLine("Start client: " + clientId);

            //Create interfce to metaserver
            MetaserverClient = new MetaserverAsyncClient(clientHostName, clientPort, metaserverList, clientId);

            // TCP Channel
            TcpChannel channel = new TcpChannel(MetaserverClient.ClientPort);

            ChannelServices.RegisterChannel(channel, false);
            Console.WriteLine("Starting Client Socket for puppet master at port: " + MetaserverClient.ClientPort);
            RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(ClientEntry),
                "PADIConnection",
                WellKnownObjectMode.Singleton);

            System.Console.WriteLine("<enter> to exit...");
            System.Console.ReadLine();
        }
Esempio n. 2
0
        public LoadBalancer(MetaCore metaCore)
        {
            _core = metaCore;
            MetaserverId thisServer;

            MetadataServer.MetadataServerList.TryGetValue(MetadataServer.ThisMetaserverId,
                                                          out thisServer);
            List <ServerId> metadataServerList = new List <ServerId>( );

            foreach (MetaserverId metaserver in MetadataServer.MetadataServerList.Values)
            {
                ServerId serverId = new ServerId();
                serverId.hostname = metaserver.Hostname;
                serverId.id       = metaserver.Id.ToString();
                serverId.port     = metaserver.Port;
                metadataServerList.Add(serverId);
            }
            connectionToMeta = new MetaserverAsyncClient(thisServer.Hostname, thisServer.Port + 5000, metadataServerList, MetadataServer.ThisMetaserverId + 100);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            foreach (var item in args)
            {
                Console.Write(item + " ");
            }

            System.Console.WriteLine("Dataserver Init....");


            log4net.Config.XmlConfigurator.Configure( );

            log.Debug(DateTime.Now.Ticks + " Metadata init...");

            //  if (!Debugger.IsAttached)
            //    Debugger.Launch();


            int i = 0;

            for (i = 0; i < (args.Length - 4); i++)
            {
                ServerId metaServer = new ServerId();
                metaServer.hostname = args[i++];
                metaServer.port     = Convert.ToInt32(args[i]);
                metaServer.id       = Convert.ToString(i / 2);
                MetadataServerList.Add(metaServer);
            }

            ServerPort   = Convert.ToInt32(args[i++]);
            ServerId     = Convert.ToInt32(args[i++]);
            RecoveryPort = Convert.ToInt32(args[i++]);
            ServerIp     = DataServer.GetCurrentIp();
            storage      = new StorageManager(ServerId);


            System.Console.WriteLine("System ID: " + ServerId
                                     );
            System.Console.WriteLine("System IP Adress: " + ServerIp + ":" + ServerPort + "#" + RecoveryPort);

            // Cria objecto remoto para ser envocado apartir do cliente
            RemotingConfiguration.Configure("../../App.config", true);


            DataServer.CreateNormalChannel();
            _localFileNameList = new ConcurrentDictionary <String, LocalFileStatistics>();



            // Espera ate receber unfreze do puppet Online
            System.Console.WriteLine("DataServer Started, In Freeze Mode");
            while (isFreezed)
            {
                Thread.Sleep(250);
            }
            System.Console.WriteLine("DataServer Started Defrost!!!");


            // Regista-se no Metadata e inicia Objectos Remotos
            MetaserverClient = new MetaserverAsyncClient(ServerIp, ServerPort, MetadataServerList, ServerId);
            RegisterAtMetadata();

            // Releses the Request Thread and Returns to Puppet
            Monitor.Enter(freezeMon);
            Monitor.PulseAll(freezeMon);
            Monitor.Exit(freezeMon);


            System.Console.WriteLine("<enter> para sair...");
            System.Console.ReadLine();
        }