Class Thrift::ThreadedServer
In: lib/thrift/server/threaded_server.rb
lib/thrift/server/threaded_server.rb
Parent: BaseServer

Methods

serve   serve  

Public Instance methods

[Source]

    # File 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

[Source]

    # File 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

[Validate]