]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/thrift/lib/rb/lib/thrift/server/simple_server.rb
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / jaegertracing / thrift / lib / rb / lib / thrift / server / simple_server.rb
CommitLineData
f67539c2
TL
1#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
20module Thrift
21 class SimpleServer < BaseServer
22 def serve
23 begin
24 @server_transport.listen
25 loop do
26 client = @server_transport.accept
27 trans = @transport_factory.get_transport(client)
28 prot = @protocol_factory.get_protocol(trans)
29 begin
30 loop do
31 @processor.process(prot, prot)
32 end
33 rescue Thrift::TransportException, Thrift::ProtocolException
34 ensure
35 trans.close
36 end
37 end
38 ensure
39 @server_transport.close
40 end
41 end
42
43 def to_s
44 "simple(#{super.to_s})"
45 end
46 end
47end