diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs')
-rw-r--r-- | src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs b/src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs new file mode 100644 index 000000000..28de4f7ea --- /dev/null +++ b/src/jaegertracing/thrift/test/hs/ConstantsDemo_Main.hs @@ -0,0 +1,68 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, +-- software distributed under the License is distributed on an +-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +-- KIND, either express or implied. See the License for the +-- specific language governing permissions and limitations +-- under the License. +-- + +module Main where + + +import qualified Control.Exception +import qualified Network + +import Thrift.Protocol.Binary +import Thrift.Server +import Thrift.Transport.Handle + +import qualified ThriftTestUtils + +import qualified Yowza +import qualified Yowza_Client as Client +import qualified Yowza_Iface as Iface + + +data YowzaHandler = YowzaHandler +instance Iface.Yowza_Iface YowzaHandler where + blingity _ = do + ThriftTestUtils.serverLog "SERVER: Got blingity" + return () + + blangity _ = do + ThriftTestUtils.serverLog "SERVER: Got blangity" + return $ 31 + + +client :: (String, Network.PortID) -> IO () +client addr = do + to <- hOpen addr + let ps = (BinaryProtocol to, BinaryProtocol to) + + Client.blingity ps + + rv <- Client.blangity ps + ThriftTestUtils.clientLog $ show rv + + tClose to + +server :: Network.PortNumber -> IO () +server port = do + ThriftTestUtils.serverLog "Ready..." + (runBasicServer YowzaHandler Yowza.process port) + `Control.Exception.catch` + (\(TransportExn s _) -> error $ "FAILURE: " ++ show s) + +main :: IO () +main = ThriftTestUtils.runTest server client |