Ejemplo n.º 1
0
        public RouteRequest(DataPushRequest dataPushRequest)
        {
            RequestId = Guid.TryParse(dataPushRequest.RequestId, out var requestId)
                ? requestId
                : Guid.NewGuid();

            SourceNode      = dataPushRequest.SourceNode;
            DestinationNode = dataPushRequest.DestinationNode;
            Name            = dataPushRequest.Name;
            TotalBlocks     = dataPushRequest.TotalBlocks;
            PushDateTime    = DateTime.Now;

            PayloadQueue = new ConcurrentQueue <PayloadItem>();

            IsRouteCompleted = false;
        }
        public IRouteRequest AddRouteRequest(DataPushRequest dataPushRequest)
        {
            var routeRequest = _repository
                               .Where(x => x.SourceNode == dataPushRequest.SourceNode)
                               .Where(x => x.DestinationNode == dataPushRequest.DestinationNode)
                               .FirstOrDefault(x => x.Name == dataPushRequest.Name);

            if (routeRequest == null)
            {
                routeRequest = new RouteRequest(dataPushRequest);

                _logger?.Information($"New Route Request Added (Source: {routeRequest.SourceNode}, " +
                                     $"Destionation: {routeRequest.DestinationNode}, " +
                                     $"Name: {routeRequest.Name}, " +
                                     $"ID: {routeRequest.RequestId}).");

                _repository.Add(routeRequest);
            }

            return(routeRequest);
        }
Ejemplo n.º 3
0
 public void ShouldSuccessfullyCreateDataPushRequest(Guid requestId,
                                                     string name,
                                                     int blockNumber,
                                                     int totalBlocks,
                                                     string destinationNode,
                                                     string sourceNode,
                                                     object payload)
 {
     Assert.DoesNotThrow(() =>
     {
         _ = new DataPushRequest
         {
             RequestId       = requestId.ToString(),
             Name            = name,
             BlockNumber     = blockNumber,
             TotalBlocks     = totalBlocks,
             DestinationNode = destinationNode,
             SourceNode      = sourceNode,
             Payload         = ByteString.CopyFrom(payload.ToByteArray()),
         };
     });
 }