David Reiss | 03b574f | 2008-07-02 23:55:04 +0000 | [diff] [blame] | 1 | package com.facebook.thrift.test; |
| 2 | |
| 3 | import com.facebook.thrift.TException; |
| 4 | import com.facebook.thrift.protocol.TBinaryProtocol; |
| 5 | import com.facebook.thrift.protocol.TProtocol; |
| 6 | import com.facebook.thrift.protocol.TProtocolFactory; |
| 7 | import com.facebook.thrift.server.TServer; |
| 8 | import com.facebook.thrift.server.TSimpleServer; |
| 9 | import com.facebook.thrift.server.TNonblockingServer; |
| 10 | import com.facebook.thrift.server.THsHaServer; |
| 11 | import com.facebook.thrift.transport.TNonblockingServerSocket; |
| 12 | import com.facebook.thrift.transport.TNonblockingServerTransport; |
| 13 | import com.facebook.thrift.transport.TFramedTransport; |
| 14 | |
| 15 | // Generated code |
| 16 | import thrift.test.*; |
| 17 | |
| 18 | import java.net.ServerSocket; |
| 19 | import java.util.List; |
| 20 | import java.util.ArrayList; |
| 21 | import java.util.Map; |
| 22 | import java.util.HashMap; |
| 23 | import java.util.Set; |
| 24 | import java.util.HashSet; |
| 25 | |
| 26 | |
| 27 | public class TestNonblockingServer extends TestServer { |
| 28 | public static void main(String [] args) { |
| 29 | try { |
| 30 | int port = 9090; |
| 31 | boolean hsha = false; |
| 32 | |
| 33 | for (int i = 0; i < args.length; i++) { |
| 34 | if (args[i].equals("-p")) { |
| 35 | port = Integer.valueOf(args[i++]); |
| 36 | } else if (args[i].equals("-hsha")) { |
| 37 | hsha = true; |
| 38 | } |
| 39 | } |
| 40 | |
| 41 | // Processor |
| 42 | TestHandler testHandler = |
| 43 | new TestHandler(); |
| 44 | ThriftTest.Processor testProcessor = |
| 45 | new ThriftTest.Processor(testHandler); |
| 46 | |
| 47 | // Transport |
| 48 | TNonblockingServerSocket tServerSocket = |
| 49 | new TNonblockingServerSocket(port); |
| 50 | |
| 51 | TServer serverEngine; |
| 52 | |
| 53 | if (hsha) { |
| 54 | // HsHa Server |
| 55 | serverEngine = new THsHaServer(testProcessor, tServerSocket); |
| 56 | } else { |
| 57 | // Nonblocking Server |
| 58 | serverEngine = new TNonblockingServer(testProcessor, tServerSocket); |
| 59 | } |
| 60 | |
| 61 | // Run it |
| 62 | System.out.println("Starting the server on port " + port + "..."); |
| 63 | serverEngine.serve(); |
| 64 | |
| 65 | } catch (Exception x) { |
| 66 | x.printStackTrace(); |
| 67 | } |
| 68 | System.out.println("done."); |
| 69 | } |
| 70 | } |