Skip to content
Snippets Groups Projects

Integration of TE component

Merged Lluis Gifre Renom requested to merge feat/te-service into develop
1 file
+ 7
4
Compare changes
  • Side-by-side
  • Inline
@@ -96,9 +96,8 @@ handle_event(cast, {topology_event, _Event}, ready, _Data) ->
?LOG_DEBUG("Teraflow topology event: ~p", [_Event]),
keep_state_and_data;
handle_event({call, From}, {request_lsp, ServiceMap}, ready, Data) ->
#{service_id := ServiceId} = ServiceMap,
?LOG_DEBUG("Teraflow service ~s requested its LSPs",
[format_service_id(ServiceId)]),
[format_service_id(maps:get(service_id, ServiceMap, undefined))]),
{Result, Data2} = do_request_lsp(Data, ServiceMap),
{keep_state, Data2, [{reply, From, Result}]};
handle_event({call, From}, {delete_lsp, ServiceId}, ready, Data) ->
@@ -122,6 +121,7 @@ code_change(_OldVsn, OldState, OldData, _Extra) ->
%%% INTERNAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
format_service_id(undefined) -> <<"undefined">>;
format_service_id(#{context_id := #{context_uuid := #{uuid := ContextName}},
service_uuid := #{uuid := ServiceUUID}}) ->
iolist_to_binary(io_lib:format("~s:~s", [ContextName, ServiceUUID])).
@@ -162,8 +162,11 @@ do_request_lsp(#data{services = Services} = Data,
catch T:E:S ->
?LOG_ERROR("Error while requesintg LSP: ~p:~p", [T, E]),
?LOG_ERROR("Stacktrace: ~p", [S]),
erlang:raise(T, E, S)
end.
{{error, internal_error}, Data}
end;
do_request_lsp(Data, ServiceMap) ->
?LOG_ERROR("Invalid arguments to RequestLSP call: ~p", [ServiceMap]),
{{error, badarg}, Data}.
do_delete_lsp(Data, ServiceId) ->
?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]),
Loading