From 48db901b5b541fc062a7e8e3dda8a4227bc2e77f Mon Sep 17 00:00:00 2001 From: "PSp..om" Date: Fri, 16 Dec 2011 00:31:40 +0000 Subject: [PATCH] Added a method for easily determining if there are active connections. Early-return in the broadcast method if there are no connections. This prevents allocation of a message if it's just going to get dropped on the floor anyway. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8932 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- engine/src/networking/com/jme3/network/Server.java | 6 ++++++ .../networking/com/jme3/network/base/DefaultServer.java | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/engine/src/networking/com/jme3/network/Server.java b/engine/src/networking/com/jme3/network/Server.java index 272cc8167..8a1b2cfb2 100644 --- a/engine/src/networking/com/jme3/network/Server.java +++ b/engine/src/networking/com/jme3/network/Server.java @@ -103,6 +103,12 @@ public interface Server */ public Collection getConnections(); + /** + * Returns true if the server has active connections at the time of this + * call. + */ + public boolean hasConnections(); + /** * Adds a listener that will be notified when new hosted connections * arrive. diff --git a/engine/src/networking/com/jme3/network/base/DefaultServer.java b/engine/src/networking/com/jme3/network/base/DefaultServer.java index 2b0a7ec98..a2ddd2c43 100644 --- a/engine/src/networking/com/jme3/network/base/DefaultServer.java +++ b/engine/src/networking/com/jme3/network/base/DefaultServer.java @@ -153,6 +153,9 @@ public class DefaultServer implements Server public void broadcast( Filter filter, Message message ) { + if( connections.isEmpty() ) + return; + ByteBuffer buffer = MessageProtocol.messageToBuffer(message, null); FilterAdapter adapter = filter == null ? null : new FilterAdapter(filter); @@ -172,6 +175,11 @@ public class DefaultServer implements Server return connections.get(id); } + public boolean hasConnections() + { + return !connections.isEmpty(); + } + public Collection getConnections() { return Collections.unmodifiableCollection((Collection)connections.values());