From daef1c8ed02102936655b9101a30cc8737a9eb15 Mon Sep 17 00:00:00 2001 From: "Anthony F. Molinaro" Date: Sun, 26 Sep 2010 04:25:36 +0000 Subject: [PATCH] THRIFT-743: seems to compile and doesn't break other tests, so seems fine for now git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001353 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/generate/t_hs_generator.cc | 24 ++++++++++----------- lib/hs/src/Thrift.hs | 18 ++++++++-------- lib/hs/src/Thrift/Server.hs | 10 ++++----- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/compiler/cpp/src/generate/t_hs_generator.cc b/compiler/cpp/src/generate/t_hs_generator.cc index 47d4faa9..0743251b 100644 --- a/compiler/cpp/src/generate/t_hs_generator.cc +++ b/compiler/cpp/src/generate/t_hs_generator.cc @@ -542,14 +542,14 @@ void t_hs_generator::generate_hs_struct_reader(ofstream& out, t_struct* tstruct) string t = tmp("_t"); string id = tmp("_id"); - indent(out) << "read_" << sname << "_fields iprot rec = do" << endl; + indent(out) << "read_" << sname << "_fields iprot record = do" << endl; indent_up(); // do // Read beginning field marker indent(out) << "(_," << t <<","<get_name()) <<"=Just s}" << endl; + indent(out) << "read_"<get_name()) <<"=Just s}" << endl; out << indent() << "else do" << endl; indent_up(); indent(out) << "skip iprot "<< t << endl; - indent(out) << "read_"<get_name(); indent(out) << - "case f_" << name << "_" << mname << " rec of {Nothing -> return (); Just _v -> do" << endl; + "case f_" << name << "_" << mname << " record of {Nothing -> return (); Just _v -> do" << endl; indent_up(); indent(out) << "writeFieldBegin oprot (\""<< (*f_iter)->get_name()<<"\"," <get_type())<<"," @@ -949,7 +949,7 @@ void t_hs_generator::generate_service_server(t_service* tservice) { } - indent(f_service_) << "proc handler (iprot,oprot) (name,typ,seqid) = case name of" << endl; + indent(f_service_) << "proc_ handler (iprot,oprot) (name,typ,seqid) = case name of" << endl; indent_up(); for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) { string fname = (*f_iter)->get_name(); @@ -957,7 +957,7 @@ void t_hs_generator::generate_service_server(t_service* tservice) { } indent(f_service_) << "_ -> "; if(tservice->get_extends() != NULL){ - f_service_ << type_name(tservice->get_extends()) << ".proc handler (iprot,oprot) (name,typ,seqid)" << endl; + f_service_ << type_name(tservice->get_extends()) << ".proc_ handler (iprot,oprot) (name,typ,seqid)" << endl; } else { f_service_ << "do" << endl; indent_up(); @@ -978,7 +978,7 @@ void t_hs_generator::generate_service_server(t_service* tservice) { f_service_ << indent() << "(name, typ, seqid) <- readMessageBegin iprot" << endl; - f_service_ << indent() << "proc handler (iprot,oprot) (name,typ,seqid)" << endl; + f_service_ << indent() << "proc_ handler (iprot,oprot) (name,typ,seqid)" << endl; indent(f_service_) << "return True" << endl; indent_down(); diff --git a/lib/hs/src/Thrift.hs b/lib/hs/src/Thrift.hs index 71957c4a..9b4d41e9 100644 --- a/lib/hs/src/Thrift.hs +++ b/lib/hs/src/Thrift.hs @@ -90,27 +90,27 @@ writeAppExn pt ae = do readAppExn :: (Protocol p, Transport t) => p t -> IO AppExn readAppExn pt = do _ <- readStructBegin pt - rec <- readAppExnFields pt (AppExn {ae_type = undefined, ae_message = undefined}) + record <- readAppExnFields pt (AppExn {ae_type = undefined, ae_message = undefined}) readStructEnd pt - return rec + return record readAppExnFields :: forall (a :: * -> *) t. (Protocol a, Transport t) => a t -> AppExn -> IO AppExn -readAppExnFields pt rec = do +readAppExnFields pt record = do (_, ft, tag) <- readFieldBegin pt if ft == T_STOP - then return rec + then return record else case tag of 1 -> if ft == T_STRING then do s <- readString pt - readAppExnFields pt rec{ae_message = s} + readAppExnFields pt record{ae_message = s} else do skip pt ft - readAppExnFields pt rec + readAppExnFields pt record 2 -> if ft == T_I32 then do i <- readI32 pt - readAppExnFields pt rec{ae_type = (toEnum $ fromIntegral i)} + readAppExnFields pt record{ae_type = (toEnum $ fromIntegral i)} else do skip pt ft - readAppExnFields pt rec + readAppExnFields pt record _ -> do skip pt ft readFieldEnd pt - readAppExnFields pt rec + readAppExnFields pt record diff --git a/lib/hs/src/Thrift/Server.hs b/lib/hs/src/Thrift/Server.hs index 4634a6bd..ed74ceba 100644 --- a/lib/hs/src/Thrift/Server.hs +++ b/lib/hs/src/Thrift/Server.hs @@ -44,23 +44,23 @@ runThreadedServer :: (Transport t, Protocol i, Protocol o) -> (h -> (i t, o t) -> IO Bool) -> PortID -> IO a -runThreadedServer accepter hand proc port = do +runThreadedServer accepter hand proc_ port = do socket <- listenOn port - acceptLoop (accepter socket) (proc hand) + acceptLoop (accepter socket) (proc_ hand) -- | A basic threaded binary protocol socket server. runBasicServer :: h -> (h -> (BinaryProtocol Handle, BinaryProtocol Handle) -> IO Bool) -> PortNumber -> IO a -runBasicServer hand proc port = runThreadedServer binaryAccept hand proc (PortNumber port) +runBasicServer hand proc_ port = runThreadedServer binaryAccept hand proc_ (PortNumber port) where binaryAccept s = do (h, _, _) <- accept s return (BinaryProtocol h, BinaryProtocol h) acceptLoop :: IO t -> (t -> IO Bool) -> IO a -acceptLoop accepter proc = forever $ +acceptLoop accepter proc_ = forever $ do ps <- accepter forkIO $ handle (\(_ :: SomeException) -> return ()) - (loop $ proc ps) + (loop $ proc_ ps) where loop m = do { continue <- m; when continue (loop m) } -- 2.17.1