class Thrift::ThreadedServer

Public Instance Methods

serve() click to toggle source
   # File lib/thrift/server/threaded_server.rb
24 def serve
25   begin
26     @server_transport.listen
27     loop do
28       client = @server_transport.accept
29       trans = @transport_factory.get_transport(client)
30       prot = @protocol_factory.get_protocol(trans)
31       Thread.new(prot, trans) do |p, t|
32         begin
33           loop do
34             @processor.process(p, p)
35           end
36         rescue Thrift::TransportException, Thrift::ProtocolException
37         ensure
38           t.close
39         end
40       end
41     end
42   ensure
43     @server_transport.close
44   end
45 end