| Class | Thrift::ThreadedServer |
| In: |
ruby/lib/thrift/server/threaded_server.rb
|
| Parent: | BaseServer |
# File ruby/lib/thrift/server/threaded_server.rb, line 24
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