public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DEFAULT_MIN_THREADS, DEFAULT_MAX_THREADS) { }
public TThreadedServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DEFAULT_MAX_THREADS, DefaultLogDelegate) { }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(new TSingletonProcessorFactory(processor), serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DEFAULT_MIN_THREADS, DEFAULT_MAX_THREADS, DefaultLogDelegate) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory) : this(processor, serverTransport, transportFactory, transportFactory, new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory()) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory) : base(processor, serverTransport, transportFactory, transportFactory, new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DefaultLogDelegate) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : base(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DefaultLogDelegate) { }
public TThreadedServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, int maxThreads, LogDelegate logDel) : base(processor, serverTransport, inputTransportFactory, outputTransportFactory, inputProtocolFactory, outputProtocolFactory, logDel) { this.maxThreads = maxThreads; clientQueue = new Queue<TTransport>(); clientLock = new object(); clientThreads = new THashSet<Thread>(); }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, int minThreadPoolThreads, int maxThreadPoolThreads, LogDelegate logDel) : base(processor, serverTransport, inputTransportFactory, outputTransportFactory, inputProtocolFactory, outputProtocolFactory, logDel) { if (!ThreadPool.SetMaxThreads(maxThreadPoolThreads, maxThreadPoolThreads)) { throw new Exception("Error: could not SetMaxThreads in ThreadPool"); } }
public static bool Execute(string[] args) { try { bool useBufferedSockets = false, useFramed = false, useEncryption = false, compact = false, json = false; ServerType serverType = ServerType.TSimpleServer; ProcessorFactoryType processorFactoryType = ProcessorFactoryType.TSingletonProcessorFactory; int port = 9090; string pipe = null; for (int i = 0; i < args.Length; i++) { if (args[i] == "-pipe") // -pipe name { pipe = args[++i]; } else if (args[i].Contains("--port=")) { port = int.Parse(args[i].Substring(args[i].IndexOf("=") + 1)); } else if (args[i] == "-b" || args[i] == "--buffered" || args[i] == "--transport=buffered") { useBufferedSockets = true; } else if (args[i] == "-f" || args[i] == "--framed" || args[i] == "--transport=framed") { useFramed = true; } else if (args[i] == "--compact" || args[i] == "--protocol=compact") { compact = true; } else if (args[i] == "--json" || args[i] == "--protocol=json") { json = true; } else if (args[i] == "--threaded" || args[i] == "--server-type=threaded") { serverType = ServerType.TThreadedServer; } else if (args[i] == "--threadpool" || args[i] == "--server-type=threadpool") { serverType = ServerType.TThreadPoolServer; } else if (args[i] == "--prototype" || args[i] == "--processor=prototype") { processorFactoryType = ProcessorFactoryType.TPrototypeProcessorFactory; } else if (args[i] == "--ssl") { useEncryption = true; } } // Transport TServerTransport trans; if (pipe != null) { trans = new TNamedPipeServerTransport(pipe); } else { if (useEncryption) { string certPath = "../../../../test/keys/server.p12"; trans = new TTLSServerSocket(port, 0, useBufferedSockets, new X509Certificate2(certPath, "thrift"), null, null, SslProtocols.Tls); } else { trans = new TServerSocket(port, 0, useBufferedSockets); } } TProtocolFactory proto; if (compact) proto = new TCompactProtocol.Factory(); else if (json) proto = new TJSONProtocol.Factory(); else proto = new TBinaryProtocol.Factory(); TProcessorFactory processorFactory; if (processorFactoryType == ProcessorFactoryType.TPrototypeProcessorFactory) { processorFactory = new TPrototypeProcessorFactory<ThriftTest.Processor, TestHandler>(); } else { // Processor TestHandler testHandler = new TestHandler(); ThriftTest.Processor testProcessor = new ThriftTest.Processor(testHandler); processorFactory = new TSingletonProcessorFactory(testProcessor); } TTransportFactory transFactory; if (useFramed) transFactory = new TFramedTransport.Factory(); else transFactory = new TTransportFactory(); TServer serverEngine; switch (serverType) { case ServerType.TThreadPoolServer: serverEngine = new TThreadPoolServer(processorFactory, trans, transFactory, proto); break; case ServerType.TThreadedServer: serverEngine = new TThreadedServer(processorFactory, trans, transFactory, proto); break; default: serverEngine = new TSimpleServer(processorFactory, trans, transFactory, proto); break; } //Server event handler TradeServerEventHandler serverEvents = new TradeServerEventHandler(); serverEngine.setEventHandler(serverEvents); // Run it string where = (pipe != null ? "on pipe " + pipe : "on port " + port); Console.WriteLine("Starting the " + serverType.ToString() + " " + where + (processorFactoryType == ProcessorFactoryType.TPrototypeProcessorFactory ? " with processor prototype factory " : "") + (useBufferedSockets ? " with buffered socket" : "") + (useFramed ? " with framed transport" : "") + (useEncryption ? " with encryption" : "") + (compact ? " with compact protocol" : "") + (json ? " with json protocol" : "") + "..."); serverEngine.Serve(); } catch (Exception x) { Console.Error.Write(x); return false; } Console.WriteLine("done."); return true; }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory) { this.processor = processor; this.serverTransport = serverTransport; this.inputTransportFactory = inputTransportFactory; this.outputTransportFactory = outputTransportFactory; this.inputProtocolFactory = inputProtocolFactory; this.outputProtocolFactory = outputProtocolFactory; }
static void Main(string[] args) { //Start the background mock trade generator thread (new Thread(TradeEventGenerator.ThreadProc)).Start(); //Create the Service Handler and Processor TradeStreamHandler handler = new TradeStreamHandler(); PNWF.TradeStream.Processor proc = new PNWF.TradeStream.Processor(handler); //Setup the I/O stack factories TServerTransport trans = new TNamedPipeServerTransport("TradeStream"); TTransportFactory transFac = new TTransportFactory(); TProtocolFactory protoFac = new TCompactProtocol.Factory(); //Setup the server and register the event handler TServer server = new TThreadedServer(proc, trans, transFac, protoFac); server.setEventHandler(new TradeServerEventHandler()); server.Serve(); }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, LogDelegate logDelegate) { this.processor = processor; this.serverTransport = serverTransport; this.inputTransportFactory = inputTransportFactory; this.outputTransportFactory = outputTransportFactory; this.inputProtocolFactory = inputProtocolFactory; this.outputProtocolFactory = outputProtocolFactory; this.logDelegate = (logDelegate != null) ? logDelegate : DefaultLogDelegate; }