Beispiel #1
0
        public async Task PublishFile(string fileName)
        {
            var request = new DataChunkAvailableRequest
            {
                Metadata = new LocalFileSystemMetadata
                {
                    FileName = fileName
                },
                Address      = _addr,
                Localization = _localization
            };

            await _client.SignalDataChunkAvailableAsync(request);
        }
        public override Task <DataChunkAvailableReply> SignalDataChunkAvailable(DataChunkAvailableRequest request, ServerCallContext context)
        {
            _logger.LogInformation("Got a request signaling data chunk is available, from the peer: {Peer}", context.Peer);

            _ledger.StoreAddressForFileName(request.Metadata.FileName, new LedgerValue
            {
                Address      = request.Address,
                Localization = request.Localization
            });

            return(Task.FromResult(new DataChunkAvailableReply
            {
                IsSuccess = true
            }));
        }