public void RequestChunkPartResend(int ep, int fileId, int chunkId, int chunkPartId)
        {
            DataMessageProvider dmp = new DataMessageProvider(SocketResourcesManager.srm.ProvideBuffer());
            OutputMessage       msg = dmp.ProvideRequestChunkPartResendMessage(fileId, chunkId, chunkPartId);

            ClientCommunicationCenter.commCenter.SendMessageTo(ep, msg);
        }
        public void RequestResend(int chunkHashId, int senderId, int fileId)
        {
            DataMessageProvider dmp = new DataMessageProvider(SocketResourcesManager.srm.ProvideBuffer());
            OutputMessage       om  = dmp.ProvideResendHashRequestMessage(Fd.FileId, chunkHashId);

            ClientCommunicationCenter.commCenter.SendMessageTo(senderId, om);
        }
        public void SendChunkPart(int ep, int fileId, int chunkId, int chunkPartId, byte[] data, int start, int count)
        {
            DataMessageProvider dmp = new DataMessageProvider(SocketResourcesManager.srm.ProvideBuffer());
            OutputMessage       msg = dmp.ProvideSendChunkPartMessage(fileId, chunkId, chunkPartId, data, start, count);

            ClientCommunicationCenter.commCenter.SendMessageTo(ep, msg);
        }
        public void InitReceiver(FileDescription fd)
        {
            this.fd = fd;
            hm      = new HashManager(-1, Sizes.GetChunksNumber(fd.FileSize), fd.FileId, this);
            DataMessageProvider dmp = new DataMessageProvider(SocketResourcesManager.srm.ProvideBuffer());
            OutputMessage       om  = dmp.ProvideFileHashTransferRequestMessage(fd.FileId);

            ClientCommunicationCenter.commCenter.SendMessageToServer(om);
        }