internal static DataServerStruct decodeDataServer(KVMemoryStream stream) { Address addr = decodeAddress(stream); int weight = stream.ReadInt(); SystemInfo info = decodeSystemInfo(stream); int size = stream.ReadInt(); DataServerStruct dataServer = new DataServerStruct(addr, weight, info); for (int i = 0; i < size; i++) { Region region = decodeRegion(stream); dataServer.addRegion(region); } return dataServer; }
internal static DataServerStruct decodeDataServer(KVMemoryStream stream) { Address addr = decodeAddress(stream); int weight = stream.ReadInt(); SystemInfo info = decodeSystemInfo(stream); int size = stream.ReadInt(); DataServerStruct dataServer = new DataServerStruct(addr, weight, info); for (int i = 0; i < size; i++) { Region region = decodeRegion(stream); dataServer.addRegion(region); } return(dataServer); }
private void formatStat(DataServerStruct[] dataServers) { if (dataServers == null) { Console.WriteLine("No data server found"); return; } foreach (DataServerStruct server in dataServers) { Console.WriteLine("Data Server: " + server.Addr); indent(1); Console.WriteLine("Info:"); indent(2); Console.WriteLine("Memory Free:" + server.Info.memoryFree / (1024*1024) + "MB"); indent(2); Console.WriteLine("Memory Total:" + server.Info.memoryTotal / (1024 * 1024) + "MB"); indent(2); Console.WriteLine("Cpu Usage:" + server.Info.cpuUsage * 100 + "%"); ICollection<Region> regions = server.Regions; indent(1); Console.WriteLine("Regions:"); foreach (Region region in regions) { indent(2); Console.Write("Region:"); Console.Write(region.RegionId); indent(1); Console.Write(region.Start); Console.Write('-'); Console.Write(region.End); Console.WriteLine(); indent(3); Console.WriteLine("Read Count:" + region.Stat.readCount); indent(3); Console.WriteLine("Write Count:" + region.Stat.writeCount); indent(3); Console.WriteLine("Entry Num:" + region.Stat.keyNum); indent(3); Console.WriteLine("Size:" + formatRegionSize(region.Stat.size)); } } }
internal static int ReadStatResponse(Socket socket, out DataServerStruct[] dataServers) { using (KVMemoryStream stream = ReadResponse(socket)) { int len = stream.ReadInt(); int type = stream.ReadInt(); int retCode = stream.ReadInt(); dataServers = null; int size = stream.ReadInt(); if (size > 0) { dataServers = new DataServerStruct[size]; for (int i = 0; i < size; i++) { dataServers[i] = DecoderUtil.decodeDataServer(stream); } } return(retCode); } }
internal static int ReadStatResponse(Socket socket, out DataServerStruct[] dataServers) { using (KVMemoryStream stream = ReadResponse(socket)) { int len = stream.ReadInt(); int type = stream.ReadInt(); int retCode = stream.ReadInt(); dataServers = null; int size = stream.ReadInt(); if (size > 0) { dataServers = new DataServerStruct[size]; for (int i = 0; i < size; i++) { dataServers[i] = DecoderUtil.decodeDataServer(stream); } } return retCode; } }