// Data server register from data server itself public void Register(string address) { DataServerInfo dsi = new DataServerInfo(address); Monitor.Enter(onlineDataServers); onlineDataServers.Add(dsi); Monitor.Exit(onlineDataServers); for (int i = 0; i < msi.GetLength(0); i++) { MetadataServerInfo mi = msi[i]; if (mi != null && mi.port != this.metadataPort) { try { MetadataMessageService metadataServer = (MetadataMessageService)Activator.GetObject(typeof(MetadataMessageService), "tcp://localhost:" + mi.port + "/MessageService"); metadataServer.RegisterDataReplica(dsi.address); } catch (RemotingException e) { onlineMS[mi.getID(base_port)] = false; msi[i] = null; } catch (SocketException e) { onlineMS[mi.getID(base_port)] = false; msi[i] = null; } } } // Console.WriteLine("DataServer at " + address + " has registered."); }
private int ConnectMetadataServer(int port) { Console.WriteLine("Connecting to MDS at " + port); MetadataMessageService metadataServer = (MetadataMessageService)Activator.GetObject(typeof(MetadataMessageService), "tcp://localhost:" + port + "/MessageService"); metadataServer.Register(this.port.ToString()); return(port); }
private void ConnectMetadataServer(int port, int i) { Console.WriteLine("Connecting to MDS at " + port); MetadataMessageService metadataServer = (MetadataMessageService)Activator.GetObject(typeof(MetadataMessageService), "tcp://localhost:" + port + "/MessageService"); metadataServer.RegisterMetadata(this.metadataPort.ToString()); onlineMS[i] = true; }
public MetadataServer(int port, int baseMetadataServerPort, int metadataPort) { failing = false; freezer = new ManualResetEvent(true); timestamp = 0; ticket = 0; this.port = port; this.base_port = baseMetadataServerPort; this.metadataPort = metadataPort; metadataDB = new Dictionary <string, MetadataContent>(); onlineDataServers = new SortedSet <DataServerInfo>(); msi = new MetadataServerInfo[3]; commandService = new CommandService(); commandService.FailHandler += Fail; commandService.RecoverHandler += Recover; commandService.FreezeHandler += Freeze; commandService.UnfreezeHandler += Unfreeze; commandService.DumpHandler += Dump; requestService = new MetadataRequestService(); requestService.CreateHandler += Create; requestService.DeleteHandler += Delete; requestService.CloseHandler += Close; requestService.OpenHandler += Open; requestService.SendCreatePromiseHandler += sendCreatePromise; requestService.SendCreateAcceptedHandler += sendCreateAccepted; requestService.CreateCommitHandler += createCommit; messageService = new MetadataMessageService(); messageService.RegisterHandler += Register; messageService.RegisterDataReplicaHandler += RegisterDataReplica; messageService.RegisterMetadataHandler += RegisterMetadata; messageService.GetMetadataDtoHandler += GetMetadataDto; messageService.SendMetadataDtoHandler += SendMetadataDto; messageService.MetadataTransferHandler += MetadataTransfer; }