anchor.diff:  }).
   
   -type state() :: #state{}.
  +
  +-define(KEEPALIVE_INTERVAL, application:get_env(
  +    ?CLUSTER_WORKER_APP_NAME, graph_sync_websocket_keepalive, timer:seconds(30)
  +)).
   
   -type push_callback() :: fun((gs_protocol:push()) -> any()).
   % Reference to GS client instance
  
positive.code:             Pid ! {response, Error},
              {ok, State}
      end;
  
  websocket_info(perform_ping, _, State) ->
      {reply, ping, State};
  
  websocket_info(terminate, _, State) ->
      {close, <<"">>, State};
  
negative.code: -spec init([term()], websocket_req:req()) ->
      {ok, state()} | {ok, state(), Keepalive :: integer()}.
  init([], _) ->
      {ok, #state{}, ?KEEPALIVE_INTERVAL}.
  
  
  %%%===================================================================
  