public override async Task ProcessAsync(Stream stream, byte methodId) { if (stream == null) throw new ArgumentNullException("stream"); var buffer = MemoryPool.Get16KBuffer(); try { var h = new TransferHandler(stream, buffer); switch ((UpdateMethod)methodId) { case UpdateMethod.GetVersion: await this.GetVersionAsync(h); break; case UpdateMethod.GetVersions: await this.GetVersionsAsync(h); break; case UpdateMethod.UploadPackage: await this.UploadPackageAsync(h); break; case UpdateMethod.DownloadPackage: await this.DownloadPackageAsync(h); break; default: throw new ArgumentOutOfRangeException(); } } finally { MemoryPool.Return16KBuffer(buffer); } }
static void Main(string[] args) { Console.ReadLine(); Console.WriteLine(@"Upload video"); using (var client = new TcpClient(@"127.0.0.1", 11111)) { var handler = new TransferHandler(client.GetStream(), new byte[16 * 1024]); //var config = new LogConfig(new RequestHeader(ClientPlatform.WinMobile, new Version(0, 0, 0, 0), string.Empty, string.Empty), Category.Logs, @"C:\Temp\"); //new LogsClientHandler(2, handler).ConfigureAsync(config).Wait(); var path = @"C:\Users\bg900343\Desktop\DEV-B318.wmv"; var clientFile = new ClientFile(Path.GetFileName(path), File.ReadAllBytes(path)); var requestHeader = new RequestHeader(ClientPlatform.WinMobile, new Version(0, 0, 0, 0), string.Empty, string.Empty); new LogsClientHandler(2, handler).UploadFilesAsync(requestHeader, new List<ClientFile> { clientFile }).Wait(); handler.CloseAsync().Wait(); } Console.WriteLine(@"Done"); Console.ReadLine(); }
public override async Task ProcessAsync(Stream stream, byte methodId) { if (stream == null) throw new ArgumentNullException("stream"); var buffer = MemoryPool.Get16KBuffer(); try { var h = new TransferHandler(stream, buffer); switch ((LogMethod)methodId) { case LogMethod.GetConfigs: await this.GetConfigsAsync(h); break; case LogMethod.ConfigureLogs: await this.ConfigureAsync(h, LogCategory.Logs); break; case LogMethod.ConfigureFiles: await this.ConfigureAsync(h, LogCategory.Files); break; case LogMethod.ConfigureDatabase: await this.ConfigureAsync(h, LogCategory.Database); break; case LogMethod.UploadLogs: await this.UploadAsync(h, LogCategory.Logs, true); break; case LogMethod.UploadFiles: await this.UploadAsync(h, LogCategory.Files); break; case LogMethod.UploadDatabase: await this.UploadAsync(h, LogCategory.Database); break; default: throw new ArgumentOutOfRangeException(); } } finally { MemoryPool.Return16KBuffer(buffer); } }