anchor.diff:      {noreply, S#state{chans=Channels}};
   
   %% called by himself
  -handle_cast({unicast, #client_state{module = CMod} = CState, Perm, Pdu},
  -    #state{acctrl = AcctrlMod} = S) ->
  -    case AcctrlMod:satisfy(read, [CState], Perm) of
  +handle_cast({unicast, #client_state{module = CMod} = CState, Perm, Pdu}, S) ->
  +    Acctrl = get_acctrl(),
  +    case Acctrl:satisfy(read, [CState], Perm) of
           {ok, []} ->
               {noreply, S};
           {ok, [CState]} ->
  
positive.code:             {reply, false, S}
      end;
  
  handle_call({subscribe_stage1, _Channel, CState, PermConf},  _F,
          #state{acctrl = Acctrl} = S) ->
      case Acctrl:satisfy(read, [CState], PermConf) of
          {ok, []} ->
              {reply, error, S};
  
negative.code: -export([multicast_msg/2, unicast_msg/2, subscribe_stage1/2, subscribe_stage2/2,
      subscribe_stage3/2, unsubscribe/2, client_disconnect/1, delete_channel/1]).
  
  -record(state, {chans}).
  
  -define(CHAN_TIMEOUT, 1000).
  
  