예제 #1
0
    public IDataStream Execute()
    {
        Console.WriteLine("Remote: Data received: " + Encoding.UTF8.GetString(DataToSend.ReadData()));
        Thread.Sleep(new Random().Next(300, 800));
        byte[] resp = Encoding.UTF8.GetBytes("a");
        Console.WriteLine("Remote: Data sent: " + Encoding.UTF8.GetString(resp));
        IDataStream stream = new BufferDataStream();

        stream.WriteData(resp);
        return(stream);
    }
예제 #2
0
    public void SendData(byte[] data)
    {
        IDataStream dataStream = new BufferDataStream();

        Options opts = Services.GetService <Options>();

        if (opts.StreamOptions.HasFlag(EStreamOptions.Compressed))
        {
            dataStream = new Compression(dataStream);
        }
        if (opts.StreamOptions.HasFlag(EStreamOptions.Encrypted))
        {
            dataStream = new Encryption(dataStream);
        }

        dataStream.WriteData(data);
        Console.WriteLine("Local: Data sent: " + Encoding.UTF8.GetString(data));
        Services.GetService <JobSystem.JobSystem>().AddJob(new SendDataJob(dataStream))
        .Then(TriggerOnDataReceived);
    }