From 5d15dce9293f7c37089be3adfe0768de425838e2 Mon Sep 17 00:00:00 2001 From: Jordan Byrne Date: Wed, 21 Feb 2018 14:38:10 +1000 Subject: $ Tree Farmer Work. % Package cleanup. - Removed /Bed command. --- .../gtPlusPlus/api/analytics/BlockingFlush.java | 67 ---------------------- 1 file changed, 67 deletions(-) delete mode 100644 src/Java/gtPlusPlus/api/analytics/BlockingFlush.java (limited to 'src/Java/gtPlusPlus/api/analytics/BlockingFlush.java') diff --git a/src/Java/gtPlusPlus/api/analytics/BlockingFlush.java b/src/Java/gtPlusPlus/api/analytics/BlockingFlush.java deleted file mode 100644 index dddb37fefb..0000000000 --- a/src/Java/gtPlusPlus/api/analytics/BlockingFlush.java +++ /dev/null @@ -1,67 +0,0 @@ -package gtPlusPlus.api.analytics; - -import com.segment.analytics.Analytics; -import com.segment.analytics.Callback; -import com.segment.analytics.MessageTransformer; -import com.segment.analytics.Plugin; -import com.segment.analytics.messages.Message; -import com.segment.analytics.messages.MessageBuilder; -import java.util.concurrent.Phaser; - -/** - * The {@link Analytics} class doesn't come with a blocking {@link Analytics#flush()} implementation - * out of the box. It's trivial to build one using a {@link Phaser} that monitors requests and is - * able to block until they're uploaded. - * - *

- * BlockingFlush mBlockingFlush = BlockingFlush.create();
- * Analytics mHelper = Analytics.builder(writeKey)
- *      .plugin(mBlockingFlush)
- *      .build();
- *
- * // Do some work.
- *
- * mHelper.flush(); // Trigger a flush.
- * mBlockingFlush.block(); // Block until the flush completes.
- * mHelper.shutdown(); // Shut down after the flush is complete.
- * 
- */ -public class BlockingFlush { - - public static BlockingFlush create() { - return new BlockingFlush(); - } - - BlockingFlush() { - this.phaser = new Phaser(1); - } - - final Phaser phaser; - - public Plugin plugin() { - return new Plugin() { - @Override public void configure(Analytics.Builder builder) { - builder.messageTransformer(new MessageTransformer() { - @Override public boolean transform(MessageBuilder builder) { - phaser.register(); - return true; - } - }); - - builder.callback(new Callback() { - @Override public void success(Message message) { - phaser.arrive(); - } - - @Override public void failure(Message message, Throwable throwable) { - phaser.arrive(); - } - }); - } - }; - } - - public void block() { - phaser.arriveAndAwaitAdvance(); - } -} \ No newline at end of file -- cgit