summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java')
-rw-r--r--container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java b/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java
new file mode 100644
index 00000000000..fe868a2de1b
--- /dev/null
+++ b/container-search/src/main/java/com/yahoo/fs4/PacketNotificationsBroadcaster.java
@@ -0,0 +1,34 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.fs4;
+
+import java.nio.ByteBuffer;
+
+import com.yahoo.fs4.mplex.FS4Channel;
+
+/**
+ * Broadcasts packet notifications to a list of listeners.
+ *
+ * @author tonytv
+ */
+public class PacketNotificationsBroadcaster implements PacketListener {
+
+ private final PacketListener[] listeners;
+
+ public PacketNotificationsBroadcaster(PacketListener... listeners) {
+ this.listeners = listeners;
+ }
+
+ @Override
+ public void packetSent(FS4Channel channel, BasicPacket packet, ByteBuffer serializedForm) {
+ if (channel == null) return;
+ for (PacketListener listener : listeners)
+ listener.packetSent(channel, packet, serializedForm);
+ }
+
+ @Override
+ public void packetReceived(FS4Channel channel, BasicPacket packet, ByteBuffer serializedForm) {
+ if (channel == null) return;
+ for (PacketListener listener : listeners)
+ listener.packetReceived(channel, packet, serializedForm);
+ }
+}