blob: f4ff7b3ef12d20bc893ee0ac04760fd93a77d0fb [file] [log] [blame]
-module(client).
-include("thrift.hrl").
-include("transport/tSocket.hrl").
-include("protocol/tBinaryProtocol.hrl").
-include("calculator_thrift.hrl").
-export([t/0]).
t() ->
Host = "dev020",
Port = 9999,
_Sock = oop:start_new(tSocket, [Host, Port]),
Trans = oop:start_new(tBufferedTransport, [_Sock]),
Prot = oop:start_new(tBinaryProtocol, [Trans]),
?R0(Trans, effectful_open),
Client = calculator_thrift:new(Prot),
calculator_thrift:ping(Client),
p("ping"),
%%
%% sum = client.add(1,1)
%% print "1+1=", sum, "\n"
%%
%% sum = client.add(1,4)
%% print "1+4=", sum, "\n"
%%
%% work = Work.new()
%%
%% work.op = Operation::SUBTRACT
%% work.num1 = 15
%% work.num2 = 10
%% diff = client.calculate(1, work)
%% print "15-10=", diff, "\n"
%%
%% log = client.getStruct(1)
%% print "Log: ", log.value, "\n"
%%
%% begin
%% work.op = Operation::DIVIDE
%% work.num1 = 1
%% work.num2 = 0
%% quot = client.calculate(1, work)
%% puts "Whoa, we can divide by 0 now?"
%% rescue InvalidOperation => io
%% print "InvalidOperation: ", io.why, "\n"
%% end
%%
%% client.zip()
%% print "zip\n"
%%
%% transport.close()
%%
%% rescue TException => tx
%% print 'TException: ', tx.message, "\n"
%% end
%%
%%
%%
%% XXX if we don't close, the connection doesn't time out on the other side
?R0(Trans, effectful_close),
ok.