Added some logging for when the kernels are actually

hosting.  The old SM did similar and it's useful.


git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7019 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
PSp..om 14 years ago
parent f9976ec817
commit 90c01777ae
  1. 16
      engine/src/networking/com/jme3/network/kernel/tcp/SelectorKernel.java
  2. 9
      engine/src/networking/com/jme3/network/kernel/udp/UdpKernel.java

@ -42,6 +42,8 @@ import java.net.Socket;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.jme3.network.kernel.*; import com.jme3.network.kernel.*;
@ -54,6 +56,8 @@ import com.jme3.network.kernel.*;
*/ */
public class SelectorKernel extends AbstractKernel public class SelectorKernel extends AbstractKernel
{ {
static Logger log = Logger.getLogger(SelectorKernel.class.getName());
private InetSocketAddress address; private InetSocketAddress address;
private SelectorThread thread; private SelectorThread thread;
@ -69,9 +73,9 @@ public class SelectorKernel extends AbstractKernel
this( new InetSocketAddress(port) ); this( new InetSocketAddress(port) );
} }
public SelectorKernel( InetSocketAddress address ) public SelectorKernel( InetSocketAddress address )
{ {
this.address = address; this.address = address;
} }
protected SelectorThread createSelectorThread() protected SelectorThread createSelectorThread()
@ -227,6 +231,8 @@ public class SelectorKernel extends AbstractKernel
// Register the server socket channel, indicating an interest in // Register the server socket channel, indicating an interest in
// accepting new connections // accepting new connections
serverChannel.register(selector, SelectionKey.OP_ACCEPT); serverChannel.register(selector, SelectionKey.OP_ACCEPT);
log.log( Level.INFO, "Hosting TCP connection:{0}.", address );
} }
public void close() throws IOException, InterruptedException public void close() throws IOException, InterruptedException
@ -273,9 +279,9 @@ public class SelectorKernel extends AbstractKernel
// Setup the connection to be non-blocking // Setup the connection to be non-blocking
SocketChannel remoteChan = serverChan.accept(); SocketChannel remoteChan = serverChan.accept();
remoteChan.configureBlocking(false); remoteChan.configureBlocking(false);
// And disable Nagle's buffering algorithm... we want // And disable Nagle's buffering algorithm... we want
// data to go when we put it there. // data to go when we put it there.
Socket sock = remoteChan.socket(); Socket sock = remoteChan.socket();
sock.setTcpNoDelay(true); sock.setTcpNoDelay(true);
@ -381,6 +387,8 @@ public class SelectorKernel extends AbstractKernel
public void run() public void run()
{ {
log.log( Level.INFO, "Kernel started for connection:{0}.", address );
// An atomic is safest and costs almost nothing // An atomic is safest and costs almost nothing
while( go.get() ) { while( go.get() ) {
// Setup any queued option changes // Setup any queued option changes

@ -38,6 +38,8 @@ import java.nio.ByteBuffer;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.jme3.network.kernel.*; import com.jme3.network.kernel.*;
@ -49,10 +51,12 @@ import com.jme3.network.kernel.*;
*/ */
public class UdpKernel extends AbstractKernel public class UdpKernel extends AbstractKernel
{ {
static Logger log = Logger.getLogger(UdpKernel.class.getName());
private InetSocketAddress address; private InetSocketAddress address;
private HostThread thread; private HostThread thread;
// The nature of UDP means that even through a firewall, // The nature of UDP means that even through a firewall,
// a user would have to have a unique address+port since UDP // a user would have to have a unique address+port since UDP
// can't really be NAT'ed. // can't really be NAT'ed.
private Map<SocketAddress,UdpEndpoint> socketEndpoints = new ConcurrentHashMap<SocketAddress,UdpEndpoint>(); private Map<SocketAddress,UdpEndpoint> socketEndpoints = new ConcurrentHashMap<SocketAddress,UdpEndpoint>();
@ -185,6 +189,7 @@ public class UdpKernel extends AbstractKernel
public void connect() throws IOException public void connect() throws IOException
{ {
socket = new DatagramSocket( address ); socket = new DatagramSocket( address );
log.log( Level.INFO, "Hosting UDP connection:{0}.", address );
} }
public void close() throws IOException, InterruptedException public void close() throws IOException, InterruptedException
@ -201,6 +206,8 @@ public class UdpKernel extends AbstractKernel
public void run() public void run()
{ {
log.log( Level.INFO, "Kernel started for connection:{0}.", address );
// An atomic is safest and costs almost nothing // An atomic is safest and costs almost nothing
while( go.get() ) { while( go.get() ) {
try { try {

Loading…
Cancel
Save