diff options
author | Magnus Feuer <mfeuer@jaguarlandrover.com> | 2015-03-11 13:18:08 -0700 |
---|---|---|
committer | Magnus Feuer <mfeuer@jaguarlandrover.com> | 2015-03-16 09:01:38 -0700 |
commit | cb13d69224d8656fb5ac562c7bb3c24ac55f4fe8 (patch) | |
tree | dd80e36241cae299ce0c534217d7887252b2f254 /components/schedule | |
parent | e17321b366d9f266f0e63a352aa25a0e261d74a4 (diff) | |
download | rvi_core-cb13d69224d8656fb5ac562c7bb3c24ac55f4fe8.tar.gz |
Temp
Diffstat (limited to 'components/schedule')
-rw-r--r-- | components/schedule/src/schedule.erl | 1 | ||||
-rw-r--r-- | components/schedule/src/schedule_rpc.erl | 46 |
2 files changed, 18 insertions, 29 deletions
diff --git a/components/schedule/src/schedule.erl b/components/schedule/src/schedule.erl index 607ca0d..558c4e7 100644 --- a/components/schedule/src/schedule.erl +++ b/components/schedule/src/schedule.erl @@ -101,6 +101,7 @@ schedule_message(SvcName, Parameters, Signature, Certificate) -> + gen_server:call(?SERVER, { schedule_message, SvcName, diff --git a/components/schedule/src/schedule_rpc.erl b/components/schedule/src/schedule_rpc.erl index 9a19d40..2f2a30d 100644 --- a/components/schedule/src/schedule_rpc.erl +++ b/components/schedule/src/schedule_rpc.erl @@ -27,12 +27,21 @@ init() -> end, ok. -schedule_message(SvcName, Timeout, Parameters, Signature, Certificate) -> +%% JSON-RPC entry point +%% CAlled by local exo http server +handle_rpc("schedule_message", Args) -> + {ok, SvcName} = rvi_common:get_json_element(["service_name"], Args), + {ok, Timeout} = rvi_common:get_json_element(["timeout"], Args), + {ok, Parameters} = rvi_common:get_json_element(["parameters"], Args), + {ok, Signature} = rvi_common:get_json_element(["signature"], Args), + {ok, Certificate} = rvi_common:get_json_element(["certificate"], Args), + ?debug("schedule_rpc:schedule_request(): service_name: ~p", [ SvcName]), ?debug("schedule_rpc:schedule_request(): timeout: ~p", [ Timeout]), %% ?debug("schedule_rpc:schedule_request(): parameters: ~p", [Parameters]), ?debug("schedule_rpc:schedule_request(): signature: ~p", [Signature]), ?debug("schedule_rpc:schedule_request(): certificate: ~p", [Certificate]), + {ok, TransID } = schedule:schedule_message(SvcName, Timeout, no_callback, @@ -40,42 +49,21 @@ schedule_message(SvcName, Timeout, Parameters, Signature, Certificate) -> Signature, Certificate), {ok, [ { status, rvi_common:json_rpc_status(ok)}, - {transaction_id, TransID } ] }. + { transaction_id, TransID } ] }. + -register_remote_services(NetworkAddress, AvailableServices) -> +handle_rpc("register_remote_services", Args) -> + {ok, NetworkAddress} = rvi_common:get_json_element(["network_address"], Args), + {ok, AvailableServices} = rvi_common:get_json_element(["services"], Args), ?debug("schedule_rpc:register_remote_services(): network_address: ~p", [ NetworkAddress]), ?debug("schedule_rpc:register_remote_services(): services: ~p", [ AvailableServices]), schedule:register_remote_services(NetworkAddress, AvailableServices), {ok, [ { status, rvi_common:json_rpc_status(ok)}]}. - -unregister_remote_services(DiscountinuedServices) -> - ?debug("schedule_rpc:unregister_remote_services(): services ~p", [ DiscountinuedServices]), - schedule:unregister_remote_services(DiscountinuedServices), - {ok, [ { status, rvi_common:json_rpc_status(ok)}]}. - - -%% JSON-RPC entry point -%% CAlled by local exo http server -handle_rpc("schedule_message", Args) -> - {ok, SvcName} = rvi_common:get_json_element(["service_name"], Args), - {ok, Timeout} = rvi_common:get_json_element(["timeout"], Args), - {ok, Parameters} = rvi_common:get_json_element(["parameters"], Args), - {ok, Signature} = rvi_common:get_json_element(["signature"], Args), - {ok, Certificate} = rvi_common:get_json_element(["certificate"], Args), - schedule_message(SvcName, - Timeout, - Parameters, - Signature, - Certificate); - -handle_rpc("register_remote_services", Args) -> - {ok, NetworkAddress} = rvi_common:get_json_element(["network_address"], Args), - {ok, AvailableServices} = rvi_common:get_json_element(["services"], Args), - register_remote_services(NetworkAddress, AvailableServices); - handle_rpc("unregister_remote_services", Args) -> {ok, DiscountinuedServices} = rvi_common:get_json_element(["services"], Args), + ?debug("schedule_rpc:unregister_remote_services(): services ~p", [ DiscountinuedServices]), + schedule:unregister_remote_services(DiscountinuedServices), unregister_remote_services(DiscountinuedServices); handle_rpc(Other, _Args) -> |