public void AddFiles(List <FreeFilesServerConsole.EF.File> FilesList, Entities.Peer peer) { fileRepository.AddFiles(FilesList); PeerRepository peerRepository = new PeerRepository(_freeFilesObjectContext as FreeFilesServerConsole.IUnitOfWork); peerRepository.AddPeer(FreeFilesServerConsole.EntityUtility.externalPeerToEFPeer(peer)); SaveFile(); }
/// <summary>Executes the test case.</summary> /// <param name="fakePeers">The fake peers.</param> /// <param name="withPublicKey">if set to <c>true</c> [send message to handler with the public key].</param> private void ExecuteTestCase(IReadOnlyCollection <string> fakePeers, bool withPublicKey) { var testScheduler = new TestScheduler(); IPeerRepository peerRepository = new PeerRepository(new InMemoryRepository <Peer, string>()); var fakePeerList = fakePeers.ToList().Select(fakePeer => { return(new Peer { Reputation = 0, LastSeen = DateTime.Now.Subtract(TimeSpan.FromSeconds(fakePeers.ToList().IndexOf(fakePeer))), PeerId = PeerIdHelper.GetPeerId(fakePeer) }); }).ToList(); var targetPeerToDelete = fakePeerList[0]; peerRepository.Add(fakePeerList); // Build a fake remote endpoint _fakeContext.Channel.RemoteAddress.Returns(EndpointBuilder.BuildNewEndPoint("192.0.0.1", 42042)); var peerId = PeerIdHelper.GetPeerId("sender"); var removePeerRequest = new RemovePeerRequest { PeerIp = targetPeerToDelete.PeerId.Ip, PublicKey = withPublicKey ? targetPeerToDelete.PeerId.PublicKey : ByteString.Empty }; var protocolMessage = removePeerRequest.ToProtocolMessage(peerId); var messageStream = MessageStreamHelper.CreateStreamWithMessage(_fakeContext, testScheduler, protocolMessage); var peerSettings = peerId.ToSubstitutedPeerSettings(); var handler = new RemovePeerRequestObserver(peerSettings, peerRepository, _logger); handler.StartObserving(messageStream); testScheduler.Start(); var receivedCalls = _fakeContext.Channel.ReceivedCalls().ToList(); receivedCalls.Count().Should().Be(1); var sentResponseDto = (IMessageDto <ProtocolMessage>)receivedCalls[0].GetArguments().Single(); var signResponseMessage = sentResponseDto.Content.FromProtocolMessage <RemovePeerResponse>(); signResponseMessage.DeletedCount.Should().Be(withPublicKey ? 1 : (uint)fakePeers.Count); }
public async void OnNext(IPeerReputationChange peerReputationChange) { await SemaphoreSlim.WaitAsync().ConfigureAwait(false); try { var peer = PeerRepository.GetAll().FirstOrDefault(p => p.PeerId.Equals(peerReputationChange.PeerId)); Guard.Argument(peer, nameof(peer)).NotNull(); peer.Reputation += peerReputationChange.ReputationEvent.Amount; PeerRepository.Update(peer); } finally { SemaphoreSlim.Release(); } }
// ReSharper disable once VSTHRD100 public async void OnNext(IPeerReputationChange peerReputationChange) { try { await SemaphoreSlim.WaitAsync().ConfigureAwait(false); var peer = PeerRepository.GetAll().FirstOrDefault(p => p.PeerId.Equals(peerReputationChange.PeerId)); Guard.Argument(peer, nameof(peer)).NotNull(); // ReSharper disable once PossibleNullReferenceException peer.Reputation += peerReputationChange.ReputationEvent.Amount; PeerRepository.Update(peer); } catch (Exception e) { _logger.Error(e, e.Message); } finally { SemaphoreSlim.Release(); } }
public void OnNext(IPeerReputationChange peerReputationChange) { try { var peer = PeerRepository.GetAll().FirstOrDefault(p => p.PeerId.Equals(peerReputationChange.PeerId)); //todo come back to later if (peer == null) { return; } Guard.Argument(peer, nameof(peer)).NotNull(); // ReSharper disable once PossibleNullReferenceException peer.Reputation += peerReputationChange.ReputationEvent.Amount; PeerRepository.Update(peer); } catch (Exception e) { _logger.Error(e, e.Message); } }
public void Dispose() { ReputationEvent?.Dispose(); PeerRepository?.Dispose(); }
public PeerService(IMediator mediator, PeerRepository peers) { _mediator = mediator; _peers = peers; }
public CommunicationService(PeerRepository peers) { _peers = peers; }