Checking in vendor folder for ease of using go get.
This commit is contained in:
parent
7a1251853b
commit
cdb4b5a1d0
3554 changed files with 1270116 additions and 0 deletions
74
vendor/git.apache.org/thrift.git/tutorial/ocaml/CalcClient.ml
generated
vendored
Executable file
74
vendor/git.apache.org/thrift.git/tutorial/ocaml/CalcClient.ml
generated
vendored
Executable file
|
@ -0,0 +1,74 @@
|
|||
(*
|
||||
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.
|
||||
*)
|
||||
|
||||
open Arg
|
||||
open Thrift
|
||||
open Tutorial_types
|
||||
open Shared_types
|
||||
|
||||
exception Die;;
|
||||
let sod = function
|
||||
Some v -> v
|
||||
| None -> raise Die;;
|
||||
|
||||
type connection = {
|
||||
trans : Transport.t ;
|
||||
proto : Thrift.Protocol.t;
|
||||
calc : Calculator.client ;
|
||||
}
|
||||
|
||||
let connect ~host port =
|
||||
let tx = new TSocket.t host port in
|
||||
let proto = new TBinaryProtocol.t tx in
|
||||
let calc = new Calculator.client proto proto in
|
||||
tx#opn;
|
||||
{ trans = tx ; proto = proto; calc = calc }
|
||||
;;
|
||||
|
||||
let doclient () =
|
||||
let cli = connect ~host:"127.0.0.1" 9090 in
|
||||
try
|
||||
cli.calc#ping ;
|
||||
Printf.printf "ping()\n" ; flush stdout ;
|
||||
(let sum = cli.calc#add (Int32.of_int 1) (Int32.of_int 1) in
|
||||
Printf.printf "1+1=%ld\n" sum ;
|
||||
flush stdout) ;
|
||||
(let w = new work in
|
||||
w#set_op Operation.DIVIDE ;
|
||||
w#set_num1 (Int32.of_int 1) ;
|
||||
w#set_num2 (Int32.of_int 0) ;
|
||||
try
|
||||
let quotient = cli.calc#calculate (Int32.of_int 1) w in
|
||||
Printf.printf "Whoa? We can divide by zero!\n" ; flush stdout
|
||||
with InvalidOperation io ->
|
||||
Printf.printf "InvalidOperation: %s\n" io#grab_why ; flush stdout) ;
|
||||
(let w = new work in
|
||||
w#set_op Operation.SUBTRACT ;
|
||||
w#set_num1 (Int32.of_int 15) ;
|
||||
w#set_num2 (Int32.of_int 10) ;
|
||||
let diff = cli.calc#calculate (Int32.of_int 1) w in
|
||||
Printf.printf "15-10=%ld\n" diff ; flush stdout) ;
|
||||
(let ss = cli.calc#getStruct (Int32.of_int 1) in
|
||||
Printf.printf "Check log: %s\n" ss#grab_value ; flush stdout) ;
|
||||
cli.trans#close
|
||||
with Transport.E (_,what) ->
|
||||
Printf.printf "ERROR: %s\n" what ; flush stdout
|
||||
;;
|
||||
|
||||
doclient();;
|
Loading…
Add table
Add a link
Reference in a new issue