start
end,
- case gen_server:Starter(?MODULE, [Service], []) of
- {ok, Pid} ->
- case gen_server:call(Pid, {connect, ProtocolFactory}) of
- ok ->
- {ok, Pid};
- Error ->
- Error
+ Connect =
+ case lists:keysearch(connect, 1, ClientOpts) of
+ {value, {connect, Choice}} ->
+ Choice;
+ _ ->
+ %% By default, connect at creation-time.
+ true
+ end,
+
+
+ Started = gen_server:Starter(?MODULE, [Service], []),
+
+ if
+ Connect ->
+ case Started of
+ {ok, Pid} ->
+ case gen_server:call(Pid, {connect, ProtocolFactory}) of
+ ok ->
+ {ok, Pid};
+ Error ->
+ Error
+ end;
+ Else ->
+ Else
end;
- Else ->
- Else
+ true ->
+ Started
end.
call(Client, Function, Args)
io:format("FAIL. Expected ~p more clients.~n", [N])
end.
+make_thrift_client(Opts) ->
+ thrift_client:start(fun()->ok end, thriftTest_thrift, Opts).
+
make_protocol_factory(Port) ->
{ok, TransportFactory} =
thrift_socket_transport:new_transport_factory(
test_start() ->
- {ok, Client1} = gen_server:start(thrift_client, [thriftTest_thrift], []),
+ {ok, Client1} = make_thrift_client([{connect, false}]),
tester ! {client, unlinked, Client1},
- {ok, Client2} = gen_server:start(thrift_client, [thriftTest_thrift], []),
+ {ok, Client2} = make_thrift_client([{connect, false}]),
io:format("PASS. Unlinked clients created.~n"),
try
gen_server:call(Client2, {connect, make_protocol_factory(2)}),
exit(die).
test_linked() ->
- {ok, Client1} = gen_server:start_link(thrift_client, [thriftTest_thrift], []),
+ {ok, Client1} = make_thrift_client([{connect, false}, {monitor, link}]),
tester ! {client, linked, Client1},
- {ok, Client2} = gen_server:start_link(thrift_client, [thriftTest_thrift], []),
+ {ok, Client2} = make_thrift_client([{connect, false}, {monitor, link}]),
io:format("PASS. Linked clients created.~n"),
try
gen_server:call(Client2, {connect, make_protocol_factory(2)}),