| open Thrift | |
| class t | |
| (pf : Processor.t) | |
| (st : Transport.server_t) | |
| (tf : Transport.factory) | |
| (ipf : Protocol.factory) | |
| (opf : Protocol.factory)= | |
| object | |
| inherit TServer.t pf st tf ipf opf | |
| method serve = | |
| st#listen; | |
| while true do | |
| let tr = tf#getTransport (st#accept) in | |
| ignore (Thread.create | |
| (fun _ -> | |
| let ip = ipf#getProtocol tr in | |
| let op = opf#getProtocol tr in | |
| try | |
| while pf#process ip op do | |
| () | |
| done | |
| with _ -> ()) ()) | |
| done | |
| end | |