Beispiel #1
0
        public void TransferPackageFile(StitchGroupName groupName, string toNodeId, string filePath, string fileName, InstanceAdaptorDetails adaptor, string jobId, string taskId)
        {
            // TODO: More validation and error handling
            // TODO: We need to get more sophisticated about this, such as doing the transfer in chunks and allowing restarts
            if (!groupName.IsValid() || !groupName.IsVersionGroup())
            {
                throw new Exception("Must use a valid version name for a package upload file");
            }
            if (adaptor == null)
            {
                throw new Exception("Adaptor details must be provided");
            }

            var bytes    = File.ReadAllBytes(filePath);
            var envelope = new FileTransferEnvelope
            {
                Contents             = bytes,
                GroupName            = groupName.VersionString,
                JobId                = jobId,
                TaskId               = taskId,
                PacketNumber         = 1,
                TotalNumberOfPackets = 1,
                FileName             = fileName,
                Adaptor              = adaptor
            };
            var message = new ClusterMessageBuilder()
                          .ToNode(toNodeId)
                          .FromNode()
                          .WithInternalObjectPayload(envelope)
                          .Build();

            Send(message);
        }
Beispiel #2
0
 public void SendPackageFile(string networkNodeId, StitchGroupName groupName, string fileName, string filePath, InstanceAdaptorDetails adaptor, string jobId, string taskId)
 {
     _messageBus.Publish(new FileTransferRequest
     {
         FilePath      = filePath,
         NetworkNodeId = networkNodeId,
         GroupName     = groupName,
         JobId         = jobId,
         TaskId        = taskId,
         FileName      = fileName,
         Adaptor       = adaptor
     });
     //var message = new ClusterMessageBuilder()
     //    .FromNode()
     //    .ToNode(networkNodeId)
     //    .WithObjectPayload(new FileTransferRequest
     //    {
     //        FilePath = filePath,
     //        GroupName = groupName,
     //        JobId = jobId,
     //        TaskId = taskId,
     //        FileName = fileName
     //    })
     //    .Build();
     //_messageBus.Publish(ClusterMessage.SendEventName, message);
 }