anchor.diff:  %%    maybe_process_pending(PSeq,LAck1,Req1,Sub).
   
   %% @doc
  +%% Invariants:
  +%% LastSent =< LastReq
  +%%
  +%%
  +%%
  +%%
  +%%
  +%% @end
  +
  +%% @doc
   %% Determine the sequence range of packets to send depending on the size of the Client's Window
   %% @end
  -packet_range_to_send(PSeq,WSize,Sub = #sub{last_sent = LastSent,
  -                                           requested = Req}) ->
  -    %% sanitize inputs
  -%%    LAck1 = max(Ack,LAck),
  -%%    Req1 = max(Req,LAck+WSize),
  -    Req1 = max(Req,LastSent+WSize),
  -    SendUntil = min(Req,PSeq),
  -    Sub1 = Sub#sub{last_sent = SendUntil,
  -                   requested = Req1},
  -    Range = {LastSent,SendUntil},
  -    {ok,Sub1,Range};
  -
  -packet_range_to_send(_,_,_) -> ignore.
  +packet_range_to_send(Max,From,WSize,Sub = #sub{last_sent = LastSent,
  +                                               requested = LastReq}) ->
  +    LastReq1 = max(LastReq,From+WSize),
  +    SendTo = min(LastReq1,Max),
  +    Sub1 = Sub#sub{last_sent = SendTo,
  +                   requested = LastReq1},
  +    Range = {LastSent,SendTo},
  +    {ok,Sub1,Range}.
  +
   
   %% ===================================================================
   %% Packet Sending
  
positive.code:     {noreply, NewState :: #state{}} |
      {noreply, NewState :: #state{}, timeout() | hibernate} |
      {stop, Reason :: term(), NewState :: #state{}}).
  handle_cast(_Request, State) ->
      {noreply, State}.
  
  
negative.code: 
  %% API
  -export([start_link/2,
      %% Subs
      subscribe_self/4,
      cancel/3,
      get_live_clients/1,
      %% Packets
      request_more/4,
      ack/3,
      push/3,
      new/1]).
  
  %% gen_server callbacks
  