summaryrefslogtreecommitdiff
path: root/components/schedule
diff options
context:
space:
mode:
authorUlf Wiger <ulf@wiger.net>2015-05-13 21:28:00 +0200
committerUlf Wiger <ulf@feuerlabs.com>2015-06-10 11:22:42 +0200
commit179fbae4c5bc3fa1da7ff6515d0b295fc5de825c (patch)
treed7e6da0c44b886bd4a6ab7e0f3fa9702a894fbc0 /components/schedule
parent98c449e716ec8dfd22a48127c7577b74c1b862a4 (diff)
downloadrvi_core-179fbae4c5bc3fa1da7ff6515d0b295fc5de825c.tar.gz
JWT-style certificates, WIP
Diffstat (limited to 'components/schedule')
-rw-r--r--components/schedule/src/schedule_rpc.erl50
1 files changed, 18 insertions, 32 deletions
diff --git a/components/schedule/src/schedule_rpc.erl b/components/schedule/src/schedule_rpc.erl
index 17bcf83..8289234 100644
--- a/components/schedule/src/schedule_rpc.erl
+++ b/components/schedule/src/schedule_rpc.erl
@@ -230,7 +230,7 @@ handle_call( { rvi, schedule_message,
%% Queue the message
{_, NSt2 }= queue_message(SvcName,
TransID,
- rvi_routing:get_service_routes(SvcName), %% Can be no_route
+ rvi_routing:get_service_routes(SvcName), %% Can be [] (no route)
Timeout,
Parameters,
Signature,
@@ -484,28 +484,27 @@ queue_message(SvcName,
%% Once up, the data link will invoke service_availble()
%% to indicate that the service is available for the given DL.
%%
+ Msg = #message {
+ transaction_id = TransID,
+ service = SvcName,
+ timeout = Timeout,
+ data_link = { DLMod, DLOpt },
+ protocol = { ProtoMod, ProtoOpt },
+ routes = RemainingRoutes,
+ timeout_tref = 0,
+ parameters = Parameters,
+ signature = Signature,
+ certificate = Certificate
+ },
+
case DLMod:setup_data_link(St#st.cs, SvcName, DLOpt) of
[ ok, DLTimeout ] ->
TOut = select_timeout(calc_relative_tout(Timeout), DLTimeout),
?debug("sched:q(~p:~s): ~p seconds to compe up.",
- [ DLMod, SvcName, TOut / 1000.0]),
-
- store_message(SvcRec,
- DLMod,
- #message {
- transaction_id = TransID,
- service = SvcName,
- timeout = Timeout,
- data_link = { DLMod, DLOpt },
- protocol = { ProtoMod, ProtoOpt },
- routes = RemainingRoutes,
- timeout_tref = 0,
- parameters = Parameters,
- signature = Signature,
- certificate = Certificate
- },
- TOut),
+ [ DLMod, SvcName, TOut / 1000.0]),
+
+ store_message(SvcRec, DLMod, Msg, TOut),
{ok, St};
[ already_connected, _] ->
@@ -515,20 +514,7 @@ queue_message(SvcName,
%% Will re-queue message if cannot send.
{ _, NSt } =
- send_message(DLMod, DLOpt,
- ProtoMod, ProtoOpt,
- #message {
- transaction_id = TransID,
- timeout = Timeout,
- service = SvcName,
- data_link = { DLMod, DLOpt },
- protocol = { ProtoMod, ProtoOpt },
- routes = RemainingRoutes,
- timeout_tref = 0,
- parameters = Parameters,
- signature = Signature,
- certificate = Certificate
- }, St),
+ send_message(DLMod, DLOpt, ProtoMod, ProtoOpt, Msg, St),
{ ok, NSt };