static void Main(string[] args) { Console.SetWindowSize(80, 15); if (args.Length < 2) { Console.WriteLine("Usage: port metadataServerId"); Console.ReadLine(); } else { DataServer dataServer = new DataServer(); dataServer.initialize(Int32.Parse(args[0]), args[1], "localhost"); dataServer.startConnection(dataServer); Console.WriteLine("#DS: Registered " + dataServer.Id + " at " + dataServer.Url); Console.ReadLine(); } }
public void getCheckpoint(String dataServerId) { try { Console.WriteLine("#DS: getting checkpoint"); System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(DataServer)); string dirName = CommonTypes.Properties.Resources.TEMP_DIR + "\\" + dataServerId + "\\checkpoint.xml"; System.IO.StreamReader fileReader = new System.IO.StreamReader(dirName); DataServer dataServer = new DataServer(); dataServer = (DataServer)reader.Deserialize(fileReader); Files = dataServer.Files; CheckpointCounter = dataServer.CheckpointCounter; Port = dataServer.Port; foreach (String filename in Files.Keys) { FileLocks.Add(filename, new System.Threading.ReaderWriterLockSlim()); } fileReader.Close(); } catch (Exception e) { Console.WriteLine("#DS: GetCheckpoint Failed: " + e.Message); } }
public void startConnection(DataServer dataServer) { if (Boolean.Parse(Properties.Resources.RUN_IN_DEBUG_MODE) && !Debugger.IsAttached) { Debugger.Launch(); } Console.WriteLine("#DS: starting connection " + Id); BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider(); provider.TypeFilterLevel = TypeFilterLevel.Full; IDictionary props = new Hashtable(); props["port"] = Port; TcpChannel channel = new TcpChannel(props, null, provider); ChannelServices.RegisterChannel(channel, true); RemotingServices.Marshal(dataServer, Id, typeof(DataServer)); registInMetadataServers(); Timer.Start(); }
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(); }
public DSstateNormal(DataServer dataServer) : base(dataServer) { }
public DSstate(DataServer dataServer) { Ds = dataServer; }
public DSstateFail(DataServer dataServer) : base(dataServer) { }
public DSstateFreezed(DataServer dataServer) : base(dataServer) { }