anchor.diff:  %% under the License.
   %%
   %% -------------------------------------------------------------------
  -
  -%% @todo I don't believe the cache is even necessary, but use it for
  -%%       now.  At this point, it's superfluous, given that it
  -%%       immediately updates the cache on update.
   
   -module(lasp_advertisement_counter_client).
   -author("Christopher Meiklejohn <christopher.meiklejohn@gmail.com>").
  
positive.code: %%%===================================================================
  
  %% @private
  refresh_advertisement_counters(Previous) ->
      Self = self(),
      spawn_link(fun() ->
                         %% Wait for updated counters.
                         {ok, Result} = lasp:read({?ADS_WITH_CONTRACTS, ?SET_TYPE},
                                                  {strict, Previous}),
  
                         %% Send them back to the gen_server.
                         Self ! Result
                 end).
  
  %% @private
  schedule_impression() ->
      erlang:send_after(?IMPRESSION_INTERVAL, self(), view).
  
  
negative.code: -define(LOG_INTERVAL, 10000).
  
  %% State record.
  -record(state, {actor, impressions}).
  
  %%%===================================================================
  %%% API
  