Пример #1
0
func createTransferTasks(
	logger *logrus.Logger,
	cfg config.Config,
	dsptchr *dispatcher.Dispatcher,
) {
	logger.Debugf(
		"Found %d remote hosts for the initial transfers", len(cfg.RemoteHosts),
	)
	logger.Debugf("Size of initial transfers = %d bytes", cfg.InitTransferSize)

	for _, remoteHost := range cfg.RemoteHosts {
		host, portStr, err := net.SplitHostPort(remoteHost)
		if err != nil {
			logger.Fatalf("Parsing remote host `%s`: %s", remoteHost, err.Error())
		}
		port, err := strconv.ParseInt(portStr, 10, 16)
		if err != nil {
			logger.Fatalf(
				"Parsing remote host's port `%s`: %s",
				remoteHost, err.Error(),
			)
		}

		dsptchr.Create(api.TransferSpec{
			IP:   net.ParseIP(host),
			Port: uint16(port),
			Size: cfg.InitTransferSize,
		})
	}
}
Пример #2
0
	Describe("Create", func() {
		var (
			spec api.TransferSpec
		)

		BeforeEach(func() {
			spec = api.TransferSpec{
				IP:   net.ParseIP("127.88.91.234"),
				Port: 1212,
				Size: 10 * 1024 * 1024,
			}
		})

		It("should schedule a transfer task", func() {
			dsptchr.Create(spec)

			Expect(fakeScheduler.ScheduleCallCount()).To(Equal(1))
			task := fakeScheduler.ScheduleArgsForCall(0)

			Expect(task).To(BeAssignableToTypeOf(&dispatcher.TransferTask{}))
		})

		It("should register the transfer", func() {
			dsptchr.Create(spec)

			Expect(fakeScheduler.ScheduleCallCount()).To(Equal(1))
			scheduledTask := fakeScheduler.ScheduleArgsForCall(0)

			Expect(fakeApiRegistry.RegisterTransferCallCount()).To(Equal(1))
			regSpec, regStater := fakeApiRegistry.RegisterTransferArgsForCall(0)