From 82a506a0ae0b2914e5067a9c7125b81881688b6e Mon Sep 17 00:00:00 2001 From: macpie Date: Wed, 7 Dec 2022 11:01:25 -0800 Subject: [PATCH] Fix to include new proto env (#886) --- rebar.lock | 2 +- src/grpc/helium_packet_service.erl | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/rebar.lock b/rebar.lock index 84d8d9ff3..593558d31 100644 --- a/rebar.lock +++ b/rebar.lock @@ -103,7 +103,7 @@ {<<"hackney">>,{pkg,<<"hackney">>,<<"1.18.1">>},0}, {<<"helium_proto">>, {git,"https://github.com/helium/proto.git", - {ref,"d4dc09d89ec4e99ab6ec9992f207e33a6d9a3e30"}}, + {ref,"f1a8dd10140d67b44a8592927673f3b476eff29d"}}, 0}, {<<"hpack">>,{pkg,<<"hpack_erl">>,<<"0.2.3">>},2}, {<<"httpc_aws">>, diff --git a/src/grpc/helium_packet_service.erl b/src/grpc/helium_packet_service.erl index c5786a74c..f8df42f39 100644 --- a/src/grpc/helium_packet_service.erl +++ b/src/grpc/helium_packet_service.erl @@ -17,9 +17,9 @@ init(_Rpc, Stream) -> Stream. --spec route(packet_router_pb:packet_router_packet_up_v1_pb(), grpcbox_stream:t()) -> +-spec route(packet_router_pb:envelope_up_v1_pb(), grpcbox_stream:t()) -> {ok, grpcbox_stream:t()} | grpcbox_stream:grpc_error_response(). -route(PacketUp, StreamState) -> +route(#envelope_up_v1_pb{data = {packet, PacketUp}}, StreamState) -> case verify(PacketUp) of false -> {grpc_error, {grpcbox_stream:code_to_status(2), <<"bad signature">>}}; @@ -30,7 +30,10 @@ route(PacketUp, StreamState) -> ]), router_metrics:function_observe('router_device_routing:handle_free_packet', Time), {ok, StreamState} - end. + end; +route(_EnvUp, StreamState) -> + lager:warning("unknown ~p", [_EnvUp]), + {ok, StreamState}. -spec handle_info(Msg :: any(), StreamState :: grpcbox_stream:t()) -> grpcbox_stream:t(). handle_info({send_response, Reply}, StreamState) -> @@ -113,11 +116,10 @@ routing_information(<<_FType:3, _:5, DevAddr:32/integer-unsigned-little, _/binar %% =================================================================== -spec from_sc_packet(router_pb:blockchain_state_channel_response_v1_pb()) -> - packet_router_db:packet_router_packet_down_v1_pb(). + packet_router_db:envelope_down_v1_pb(). from_sc_packet(StateChannelResponse) -> Downlink = blockchain_state_channel_response_v1:downlink(StateChannelResponse), - - #packet_router_packet_down_v1_pb{ + PacketDown = #packet_router_packet_down_v1_pb{ payload = blockchain_helium_packet_v1:payload(Downlink), rx1 = #window_v1_pb{ timestamp = blockchain_helium_packet_v1:timestamp(Downlink), @@ -126,7 +128,8 @@ from_sc_packet(StateChannelResponse) -> datarate = hpr_datarate(blockchain_helium_packet_v1:datarate(Downlink)) }, rx2 = rx2_window(blockchain_helium_packet_v1:rx2_window(Downlink)) - }. + }, + #envelope_down_v1_pb{data = {packet, PacketDown}}. -spec hpr_datarate(unicode:chardata()) -> packet_router_pb:'helium.data_rate'().