From ec221d9f05ad01888c4f5a24fbb6f2d00bdeeee9 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 4 Aug 2019 20:12:16 +0100 Subject: [PATCH] UploadEventListener - reset bytesTransfered for each file (#145) --- .../thorp/domain/UploadEventListener.scala | 28 ++++++++++--------- .../kemitix/thorp/storage/aws/Uploader.scala | 3 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/domain/src/main/scala/net/kemitix/thorp/domain/UploadEventListener.scala b/domain/src/main/scala/net/kemitix/thorp/domain/UploadEventListener.scala index 32e5021..cb6b958 100644 --- a/domain/src/main/scala/net/kemitix/thorp/domain/UploadEventListener.scala +++ b/domain/src/main/scala/net/kemitix/thorp/domain/UploadEventListener.scala @@ -15,18 +15,20 @@ object UploadEventListener { totalBytesSoFar: Long ) - var bytesTransferred = 0L - - def listener(settings: Settings): UploadEvent => Unit = { - case e: RequestEvent => - bytesTransferred += e.transferred - logRequestCycle( - RequestCycle(settings.localFile, - bytesTransferred, - settings.index, - settings.syncTotals, - settings.totalBytesSoFar)) - case _ => () - } + def apply(settings: Settings): UploadEvent => Unit = + uploadEvent => { + var bytesTransferred = 0L + uploadEvent match { + case e: RequestEvent => + bytesTransferred += e.transferred + logRequestCycle( + RequestCycle(settings.localFile, + bytesTransferred, + settings.index, + settings.syncTotals, + settings.totalBytesSoFar)) + case _ => () + } + } } diff --git a/storage-aws/src/main/scala/net/kemitix/thorp/storage/aws/Uploader.scala b/storage-aws/src/main/scala/net/kemitix/thorp/storage/aws/Uploader.scala index e25ebe6..38cae23 100644 --- a/storage-aws/src/main/scala/net/kemitix/thorp/storage/aws/Uploader.scala +++ b/storage-aws/src/main/scala/net/kemitix/thorp/storage/aws/Uploader.scala @@ -77,8 +77,7 @@ trait Uploader { listenerSettings => new ProgressListener { override def progressChanged(progressEvent: ProgressEvent): Unit = - UploadEventListener.listener(listenerSettings)( - eventHandler(progressEvent)) + UploadEventListener(listenerSettings)(eventHandler(progressEvent)) private def eventHandler: ProgressEvent => UploadEvent = progressEvent => {