anchor.diff:      Timeout = epoch() + Connection#apns_connection.expires_conn,
       case open_out(Connection) of
         {ok, Socket} -> 
  -		   handle_cast(Msg, State#state{out_socket=Socket, out_expires = Timeout});
  +		   handle_cast(Msg, State#state{out_socket=Socket, apns_recv = 0, out_expires = Timeout});
         {error, Reason} -> 
   		   InfoLoggerFun("[ ~p ] ReReconnecting to APNS... ~p", [Name, Reason]),
   		   handle_cast(Msg, State)
  
positive.code:            , State = #state{out_socket = SslSocket
                             , info_logger_fun = InfoLoggerFun
                             , name = Name
                              }) ->
    InfoLoggerFun("[ ~p ] APNS disconnected", [Name]),
    {noreply, State#state{out_socket=undefined}};
  
  handle_info(Request, State) ->
    InfoLoggerFun = State#state.info_logger_fun,
    InfoLoggerFun("unknown_request Request:~p, State:~p", [Request, State]),
    {stop, {unknown_request, Request}, State}.
  
  %% @hidden
  
negative.code:           end,
            case erlang:size(Rest) of
              0 -> %% It was a whole package
                {noreply, State#state{out_buffer = <<>>, out_expires=0, apns_recv = 1}};
              _ ->
                handle_info(
                  {ssl, SslSocket, Rest}, State#state{out_buffer = <<>>, out_expires=0})
  