Example #1
0
        public void Send(Packet packet)
        {
            if (!IsWorking)
                throw new Exception("Client connection is not started.");

            packet.ID = Interlocked.Increment(ref ID);
            PendingPackets.Add(packet, ShutdownTokenSource.Token);
        }
Example #2
0
        public void Close()
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            CloseCommand.WriteRequest(writer);

            Packet packet = new Packet(ms);
            Client.Send(packet);
        }
Example #3
0
        public void Write(long handle, byte[] buffer, int index, int count)
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            WriteCommand.WriteRequest(writer, handle, index, count, buffer);

            Packet packet = new Packet(ms);
            Client.Send(packet);
        }
Example #4
0
        public void Release(long handle)
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            ReleaseHandleCommand.WriteRequest(writer, handle);

            Packet packet = new Packet(ms);
            Client.Send(packet);
        }
Example #5
0
        public byte[] Read(long handle)
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            ReadCommand.WriteRequest(writer, handle);

            Packet packet = new Packet(ms);
            Client.Send(packet);
            packet.Wait();

            return ReadCommand.ReadResponse(new BinaryReader(packet.Response)).Buffer;
        }
Example #6
0
        public long ObtainNewHandle()
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            ObtainHandleCommand.WriteRequest(writer);

            Packet packet = new Packet(ms);
            Client.Send(packet);
            packet.Wait();

            return ObtainHandleCommand.ReadResponse(new BinaryReader(packet.Response)).Handle;
        }
Example #7
0
        public bool Exists(long handle)
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            HandleExistCommand.WriteRequest(writer, handle);

            Packet packet = new Packet(ms);
            Client.Send(packet);
            packet.Wait();

            return HandleExistCommand.ReadResponse(new BinaryReader(packet.Response)).Exist;
        }