// See https://aka.ms/new-console-template for more information

using CompServ;
using CompServ.ClientLibrary;

Console.WriteLine("Hello, World!");

var hClient = new CompServHubClient(args[0]);
var workerUrl = await hClient.GetWorker(CancellationToken.None);
var wClient = new CompServWorkerClient(workerUrl);

Console.WriteLine("Checking alive...");
var isAlive = await wClient.CheckAliveAsync();
Console.WriteLine("Alive: " + isAlive);

if (isAlive)
{
    var dataToCompress1 = new byte[4096];
    dataToCompress1[0] = (byte)'a';
    dataToCompress1[1] = (byte)'b';
    dataToCompress1[2] = (byte)'c';

    var compressedBytes = await wClient.CompressAsync(new CompressRequestModel { Level = 1, Threads = 1, DataToCompress = dataToCompress1 });

    var decompress = await wClient.DecompressAsync(new DecompressRequestModel { DataToDecompress = compressedBytes });

    int bp = 0;
}

Console.WriteLine();
Console.Write("Press ENTER to exit...");
Console.ReadLine();