anchor.diff:      {_version, _Version, _signed_checksum, SignedChecksum}
           = list_to_tuple(HeaderParts),
       SignedChecksum.
  +
  +send_heartbeat(BodyFrame) ->
  +    case catch jiffy:decode(BodyFrame) of
  +      {Hash} ->
  +        ?debugVal(Hash),
  +        NodeName = proplists:get_value(<<"node">>, Hash),
  +        pushy_node_state:heartbeat(NodeName),
  +        error_logger:info_msg("Heartbeat received from: ~s~n", [NodeName]);
  +      {'EXIT', _Error} ->
  +        %% Log error and move on
  +        error_logger:info_msg("Status message JSON parsing failed: ~s~n", [BodyFrame])
  +    end.
  
positive.code:         {ok}
      catch
          error:{badmatch, _} ->
              error_logger:info_msg("Status message failed verification: ~s~n", [Header]),
              {no_authn, bad_sig}
      end.
  
  
negative.code:     receive
          {zmq, _StatusSock, BodyFrame, []} ->
              ?debugVal(BodyFrame),
              case catch do_authenticate_message(HeaderFrame, BodyFrame) of
                  {ok} ->
                      send_heartbeat(BodyFrame);
                  {no_authn, bad_sig} ->
                      error_logger:info_msg("Status message failed verification: ~s~n", [HeaderFrame])
              end
      end.
  
  