Advertisement
Guest User

SocketDoesntCloseTest

a guest
Jun 14th, 2011
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.60 KB | None | 0 0
  1. package org.apache.avro.ipc;
  2.  
  3. import java.net.InetAddress;
  4. import java.net.InetSocketAddress;
  5.  
  6. import org.apache.avro.Protocol;
  7. import org.apache.avro.Protocol.Message;
  8. import org.apache.avro.Schema;
  9. import org.apache.avro.io.Decoder;
  10. import org.apache.avro.io.Encoder;
  11. import org.junit.Test;
  12.  
  13. public class SocketDoesntCloseTest {
  14.  
  15.   @Test
  16.   public void socketCloseAndReopen() throws Exception {
  17.     SocketDoesntClose.main(null);
  18.   }
  19.  
  20.   private static class SocketDoesntClose extends Responder {
  21.  
  22.     public static void main(String[] args) throws Exception {
  23.  
  24.       Protocol prot = new Protocol("c", "a.b");
  25.  
  26.       // start on port 9999
  27.       InetSocketAddress addr = new
  28.       InetSocketAddress(InetAddress.getLocalHost(), 9999);
  29.       Server server = new SaslSocketServer(new SocketDoesntClose(prot), addr);
  30.       server.start();
  31.  
  32.       // stop -- I would expect this to fully release the socket
  33.       server.close();
  34.  
  35.       //Thread.sleep(10000);
  36.       server.join();
  37.  
  38.       // start on same socket again -> address already in use
  39.       server = new SaslSocketServer(new SocketDoesntClose(prot), addr);
  40.     }
  41.  
  42.     // dummy implementation
  43.     public SocketDoesntClose(Protocol local) {
  44.       super(local);
  45.     }
  46.  
  47.     public Object readRequest(Schema actual, Schema expected, Decoder in) {
  48.       return null;
  49.     }
  50.  
  51.     public Object respond(Message message, Object request) {
  52.       return null;
  53.     }
  54.  
  55.     public void writeError(Schema schema, Object error, Encoder out) {
  56.     }
  57.  
  58.     public void writeResponse(Schema schema, Object response, Encoder out) {
  59.     }
  60.   }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement