From 642b82d0eabd6356713af172aea7ca51e7f3fb57 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 13 Nov 2019 17:09:02 +0100 Subject: BoundedLog type + serializer --- .../org/openslx/taskmanager/api/BoundedLog.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java (limited to 'api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java') diff --git a/api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java b/api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java new file mode 100644 index 0000000..86b8343 --- /dev/null +++ b/api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java @@ -0,0 +1,25 @@ +package org.openslx.taskmanager.api; + +import java.util.concurrent.LinkedBlockingQueue; + +public class BoundedLog extends LinkedBlockingQueue +{ + private static final long serialVersionUID = -5425030291381563963L; + + public final boolean implicitNewlines; + + public BoundedLog( int capacity, boolean implicitNewlines ) + { + super( capacity ); + this.implicitNewlines = implicitNewlines; + } + + public void addLog( String data ) + { + while ( !this.offer( data ) ) { + // Throw away oldest entry and try again + this.poll(); + } + } + +} -- cgit v1.2.3-55-g7522