public TZmqServer (TProcessor processor, Context ctx, String endpoint, SocketType sockType) { new TSimpleServer (processor,null); _socket = ctx.Socket (sockType); _socket.Bind (endpoint); _processor = processor; }
public TThreadedServer(TProcessor processor, TServerTransport serverTransport) : this(new TSingletonProcessorFactory(processor), serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DEFAULT_MAX_THREADS, DefaultLogDelegate) { }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport) :this(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DEFAULT_MIN_THREADS, DEFAULT_MAX_THREADS, DefaultLogDelegate) { }
public TThreadedServer(TProcessor processor, TServerTransport serverTransport, LogDelegate logDelegate) : this(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DEFAULT_MAX_THREADS, logDelegate) { }
/** * Default constructors. */ public TServer(TProcessor processor, TServerTransport serverTransport) : this( processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DefaultLogDelegate) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, LogDelegate logDel) : base( processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), logDel) { }
public TProcessorSingletonFactory(TProcessor processor) { if (processor == null) { throw new ArgumentNullException("processor"); } _processor = processor; }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DEFAULT_MIN_THREADS, DEFAULT_MAX_THREADS) { }
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 TThreadedServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DEFAULT_MAX_THREADS, DefaultLogDelegate) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory) : this(processor, serverTransport, transportFactory, transportFactory, new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory()) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory) :base(processor, serverTransport, transportFactory, transportFactory, new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DefaultLogDelegate) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DefaultLogDelegate) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) :base(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, DefaultLogDelegate) { }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, int minThreadPoolThreads, int maxThreadPoolThreads, TServer.LogDelegate logDel) : base(processor, serverTransport, inputTransportFactory, outputTransportFactory, inputProtocolFactory, outputProtocolFactory, logDel) { //lock (typeof(TThreadPoolServer)) //{ // if (!ThreadPool.SetMinThreads(minThreadPoolThreads, minThreadPoolThreads)) // { // throw new Exception("Error: could not SetMinThreads in ThreadPool"); // } // if (!ThreadPool.SetMaxThreads(maxThreadPoolThreads, maxThreadPoolThreads)) // { // throw new Exception("Error: could not SetMaxThreads in ThreadPool"); // } //} }
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; }
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 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 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 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; }
/// <summary> /// Renders the command stream with a new command processor /// </summary> internal List <CommandOutput> RenderWith <TProcessor>() where TProcessor : class, ICommandProcessor, new() { var commandProcessor = new TProcessor(); if (!commandProcessor.Open()) { throw new FFmpegRenderingException(commandProcessor.Error); } var returnType = RenderWith(commandProcessor); if (!commandProcessor.Close()) { throw new FFmpegRenderingException(commandProcessor.Error); } return(returnType); }
public ICommandProcessor ExecuteWith <TProcessor>() where TProcessor : class, ICommandProcessor, new() { var commandProcessor = new TProcessor(); if (!commandProcessor.Open()) { throw new FFmpegRenderingException(commandProcessor.Error); } var returnType = ExecuteWith(commandProcessor); if (!commandProcessor.Close()) { throw new FFmpegRenderingException(commandProcessor.Error); } return(returnType); }
public static Texture2D Process(Texture tex, TProcessor func) { if (tex == null) { throw new ArgumentNullException("tex is null"); } if (func == null) { throw new ArgumentNullException("func is null"); } Texture2D newTexture = tex.TryMakeReadable(); newTexture = func(newTexture); newTexture.anisoLevel = tex.anisoLevel; //newTexture.Compress(true); newTexture.name = tex.name + "-" + Extensions.GetPrettyFunctionName(func.Method); return(newTexture); }
static void Main(string[] args) { try { var section = ConfigurationManager.GetSection("thrift.hosts") as HostSetion; foreach (var host in section.Hosts) { Console.WriteLine("{0} {1} {2} {3} {4}", host.Name, host.Port, host.MinThreadPoolSize, host.MaxThreadPoolSize, host.Services.Count); foreach (var service in host.Services) { Console.WriteLine("{0} {1}", service.Contract, service.Handler); } } ThriftServer serverHost = new ThriftServer(); serverHost.Start(); TMultiplexedProcessor multiplexedProcessor = new TMultiplexedProcessor(); multiplexedProcessor.RegisterProcessor(typeof(AddressRpc).FullName, new AddressRpc.Processor(new AddressRpcImpl())); multiplexedProcessor.RegisterProcessor(typeof(SmsSendShortMessageRpc).FullName, new SmsSendShortMessageRpc.Processor(new SmsSendShortMessageRpcImpl())); TServerTransport transport = new TServerSocket(6011); TPrototypeProcessorFactory <AddressRpc.Processor, AddressRpcImpl> factory = new TPrototypeProcessorFactory <AddressRpc.Processor, AddressRpcImpl>(); TProcessor processor = factory.GetProcessor(null); TSimpleServer server = new TSimpleServer(multiplexedProcessor, transport, info => { Console.WriteLine(info); }); Console.WriteLine("Begin service..."); server.Serve(); } catch (Exception ex) { Console.WriteLine(ex); } Console.ReadLine(); }
protected virtual void StartService(IGrouping <int, ThriftService> group) { TMultiplexedProcessor multiplexedProcessor = new TMultiplexedProcessor(); IServiceActivator serviceActivator = GlobalSetting.Container.GetService <IServiceActivator>(); if (serviceActivator == null) { throw new NullReferenceException("未设置IServiceActivator接口"); } foreach (ThriftService service in group) { object instance = serviceActivator.Create(service.ServiceType); if (instance == null) { throw new NullReferenceException($"无法创建服务{service.ServiceType.FullName}"); } Type processorType = ThriftServiceHelper.GetProcessorType(service.ServiceType); if (processorType == null) { throw new NullReferenceException($"无法找到服务{service.ServiceType.FullName}对应的Processor类"); } TProcessor processor = ThriftServiceHelper.CreateProcessor(processorType, instance); if (processor == null) { throw new NullReferenceException($"无法创建Processor{processorType.FullName}"); } multiplexedProcessor.RegisterProcessor(service.Name, processor); } TServerTransport serverTransport = new TServerSocket(group.Key); serverTransport.Listen(); TServer server = new TThreadPoolServer(multiplexedProcessor, serverTransport); _servers.Add(server); Task.Run(() => server.Serve()); }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory inputTransportFactory, TTransportFactory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, LogDelegate logDelegate) { this.processorFactory = new TSingletonProcessorFactory(processor); this.serverTransport = serverTransport; this.inputTransportFactory = inputTransportFactory; this.outputTransportFactory = outputTransportFactory; this.inputProtocolFactory = inputProtocolFactory; this.outputProtocolFactory = outputProtocolFactory; this.logDelegate = (logDelegate != null) ? logDelegate : DefaultLogDelegate; }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TServer.LogDelegate logDelegate) : this(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), 10, 100, logDelegate) { }
/** * Create a {@link NiftyProcessorFactory} that always returns the same {@link NiftyProcessor} * adapted from the given standard Thrift {@link TProcessor} */ public static INiftyProcessorFactory FactoryFromTProcessor(TProcessor standardThriftProcessor) { CheckProcessMethodSignature(); return(new DelegateNiftyProcessorFactory(transport => ProcessorFromTProcessor(standardThriftProcessor))); }
public THttpHandler(TProcessor processor, TProtocolFactory protocolFactory) : this(processor, protocolFactory, protocolFactory) { }
/// <summary> /// Basic constructor /// </summary> /// <param name="description">The service description</param> /// <param name="mmiRegisterAddress">The address of the mmi register</param> /// <param name="processor">The assigned processor of the service controller</param> public ServiceController(MServiceDescription description, MIPAddress mmiRegisterAddress, TProcessor processor) { //Assign the adapter description this.serviceDescription = description; //Assign the addresses this.address = description.Addresses[0]; this.mmiRegisterAddress = mmiRegisterAddress; //Assign the processor this.processor = processor; }
public THttpHandler(TProcessor processor) : this(processor, new TBinaryProtocol.Factory()) { }
/** * 'Register' a service with this TMultiplexedProcessor. This allows us to broker * requests to individual services by using the service name to select them at request time. * * Args: * - serviceName Name of a service, has to be identical to the name * declared in the Thrift IDL, e.g. "WeatherReport". * - processor Implementation of a service, usually referred to as "handlers", * e.g. WeatherReportHandler implementing WeatherReport.Iface. */ public void RegisterProcessor(String serviceName, TProcessor processor) { ServiceProcessorMap.Add(serviceName, processor); }
public void Release(TProcessor processor) { }
public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory, TProtocolFactory protocolFactory) : this(processor, serverTransport, transportFactory, transportFactory, protocolFactory, protocolFactory, 10, 100, new TServer.LogDelegate(TServer.DefaultLogDelegate)) { }
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; }
public THttpHandler(TProcessor processor) : this(processor, new TCompactProtocol.Factory()) { }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport) : base(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TCompactProtocol.Factory(), new TCompactProtocol.Factory(), DefaultLogDelegate) { }
public THttpHandler(TProcessor processor, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory) { this.processor = processor; this.inputProtocolFactory = inputProtocolFactory; this.outputProtocolFactory = outputProtocolFactory; }
/// <summary> /// Constructor to create a new server /// </summary> /// <param name="address"></param> /// <param name="port"></param> /// <param name="implementation"></param> public ThriftServerBase(string address, int port, TProcessor processor) : this(port, processor) { this.address = address; }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport, LogDelegate logDel) : base(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), logDel) { }
public TSingletonProcessorFactory(TProcessor processor) { processor_ = processor; }
public WordbookHandler() { this.processor = new WordbookThriftService.Processor(WordbookService); this.inputProtocolFactory = this.outputProtocolFactory = new TJSONProtocol.Factory(); //this.inputProtocolFactory = this.outputProtocolFactory = new TBinaryProtocol.Factory(); }
/** * Adapt a {@link TProcessor} to a standard Thrift {@link NiftyProcessor}. Nifty uses this * internally to adapt the processors generated by the standard Thrift code generator into * instances of {@link NiftyProcessor} usable by {@link com.facebook.nifty.core.NiftyDispatcher} */ public static INiftyProcessor ProcessorFromTProcessor(TProcessor standardThriftProcessor) { CheckProcessMethodSignature(); return(new DelegateNiftyProcessor((pIn, pOut, rContext) => standardThriftProcessor.Process(pIn, pOut))); }
/// <summary> /// Basic constructor /// </summary> /// <param name="port"></param> /// <param name="processor"></param> public ThriftServerBase(int port, TProcessor processor) { this.port = port; this.processor = processor; }
public TServer(TProcessor processor, TServerTransport serverTransport, LogDelegate logDelegate) : this(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), DefaultLogDelegate) { }
/// <summary> /// Loops on processing a client forever /// threadContext will be a TTransport instance /// </summary> /// <param name="threadContext"></param> private void Execute(Object threadContext) { TTransport client = (TTransport)threadContext; TProcessor processor = processorFactory.GetProcessor(client, this); TTransport inputTransport = null; TTransport outputTransport = null; TProtocol inputProtocol = null; TProtocol outputProtocol = null; Object connectionContext = null; try { inputTransport = inputTransportFactory.GetTransport(client); outputTransport = outputTransportFactory.GetTransport(client); inputProtocol = inputProtocolFactory.GetProtocol(inputTransport); outputProtocol = outputProtocolFactory.GetProtocol(outputTransport); //Recover event handler (if any) and fire createContext server event when a client connects if (serverEventHandler != null) { connectionContext = serverEventHandler.createContext(inputProtocol, outputProtocol); } //Process client requests until client disconnects while (!stop) { if (!inputTransport.Peek()) { break; } //Fire processContext server event //N.B. This is the pattern implemented in C++ and the event fires provisionally. //That is to say it may be many minutes between the event firing and the client request //actually arriving or the client may hang up without ever makeing a request. if (serverEventHandler != null) { serverEventHandler.processContext(connectionContext, inputTransport); } //Process client request (blocks until transport is readable) if (!processor.Process(inputProtocol, outputProtocol)) { break; } } } catch (TTransportException) { //Usually a client disconnect, expected } catch (Exception x) { //Unexpected logDelegate("Error: " + x); } //Fire deleteContext server event after client disconnects if (serverEventHandler != null) { serverEventHandler.deleteContext(connectionContext, inputProtocol, outputProtocol); } //Close transports if (inputTransport != null) { inputTransport.Close(); } if (outputTransport != null) { outputTransport.Close(); } }
public TSimpleServer(TProcessor processor, TServerTransport serverTransport) : base(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory()) { }
public override void Serve() { try { serverTransport.Listen(); } catch (TTransportException ttx) { logDelegate(ttx.ToString()); return; } //Fire the preServe server event when server is up but before any client connections if (serverEventHandler != null) { serverEventHandler.preServe(); } while (!stop) { TProcessor processor = null; TTransport client = null; TTransport inputTransport = null; TTransport outputTransport = null; TProtocol inputProtocol = null; TProtocol outputProtocol = null; Object connectionContext = null; try { using (client = serverTransport.Accept()) { processor = processorFactory.GetProcessor(client); if (client != null) { using (inputTransport = inputTransportFactory.GetTransport(client)) { using (outputTransport = outputTransportFactory.GetTransport(client)) { inputProtocol = inputProtocolFactory.GetProtocol(inputTransport); outputProtocol = outputProtocolFactory.GetProtocol(outputTransport); //Recover event handler (if any) and fire createContext server event when a client connects if (serverEventHandler != null) { connectionContext = serverEventHandler.createContext(inputProtocol, outputProtocol); } //Process client requests until client disconnects while (!stop) { if (!inputTransport.Peek()) { break; } //Fire processContext server event //N.B. This is the pattern implemented in C++ and the event fires provisionally. //That is to say it may be many minutes between the event firing and the client request //actually arriving or the client may hang up without ever makeing a request. if (serverEventHandler != null) { serverEventHandler.processContext(connectionContext, inputTransport); } //Process client request (blocks until transport is readable) if (!processor.Process(inputProtocol, outputProtocol)) { break; } } } } } } } catch (TTransportException ttx) { if (!stop || ttx.Type != TTransportException.ExceptionType.Interrupted) { logDelegate(ttx.ToString()); } } catch (Exception x) { //Unexpected logDelegate(x.ToString()); } //Fire deleteContext server event after client disconnects if (serverEventHandler != null) { serverEventHandler.deleteContext(connectionContext, inputProtocol, outputProtocol); } } }
public TThreadedServer(TProcessor processor, TServerTransport serverTransport) : this(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), 100, new TServer.LogDelegate(TServer.DefaultLogDelegate)) { }
public TServer(TProcessor processor, TServerTransport serverTransport, TTransportFactory transportFactory) : this(processor, serverTransport, transportFactory, transportFactory, new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), new TServer.LogDelegate(TServer.DefaultLogDelegate)) { }
/// <summary> /// 'Register' a service with this TMultiplexedProcessor. This allows us to broker /// requests to individual services by using the service name to select them at request time. /// /// Args: /// - serviceName Name of a service, has to be identical to the name /// declared in the Thrift IDL, e.g. "WeatherReport". /// - processor Implementation of a service, usually referred to as "handlers", /// e.g. WeatherReportHandler implementing WeatherReport.Iface. /// </summary> public void RegisterProcessor(String serviceName, TProcessor processor) { ServiceProcessorMap.Add(serviceName, processor); }