public FileServer(int id, TcpSocket tcpSocket, Dictionary <byte, FileServerTcpPacketHandler> fileServerPacketProcessor) { this.ID = id; this.fileServerPacketProcessor = fileServerPacketProcessor; this.fileServerState = new FileServerState(id); this.TcpSocketWorker = new TcpSocketWorker(tcpSocket, this.HandleTcpPacket); this.TcpSocketWorker.Closed += TcpSocketWorker_Closed; }
private TcpPacket HandleReturnDownloadEndPoint(TcpPacket tcpPacket, FileServerState state) { using (var reader = tcpPacket.GetPayloadBufferReader()) { var ip = reader.ReadString(); var port = reader.ReadInt32(); this.settings.FileServerMetaStorage.StorageDownloadEndPoint(state.ID, ip, port); } return(null); }
private TcpPacket HandleReturnFileList(TcpPacket tcpPacket, FileServerState state) { using (var reader = tcpPacket.GetPayloadBufferReader()) { var json = reader.ReadString(); var files = JsonConvert.DeserializeObject <List <FileDetails> >(json); this.settings.FileServerMetaStorage.StoreFileList(state.ID, files); } return(null); }