/** Tells the cache that a segment is no longer available in an external cache. */
 public void externalSegmentDeleted(SegmentHeader header, MondrianServer server) {
   ACTOR.event(
       handler,
       new ExternalSegmentDeletedEvent(
           System.currentTimeMillis(),
           server.getMonitor(),
           server.getId(),
           0,
           0,
           0,
           this,
           header));
 }
 /**
  * Informs cache manager that a segment load failed.
  *
  * <p>Called when a SQL statement receives an error while loading a segment.
  *
  * @param header segment header
  * @param throwable Error
  */
 public void loadFailed(RolapStar star, SegmentHeader header, Throwable throwable) {
   final Locus locus = Locus.peek();
   ACTOR.event(
       handler,
       new SegmentLoadFailedEvent(
           System.currentTimeMillis(),
           locus.getServer().getMonitor(),
           locus.getServer().getId(),
           locus.execution.getMondrianStatement().getMondrianConnection().getId(),
           locus.execution.getMondrianStatement().getId(),
           locus.execution.getId(),
           star,
           header,
           throwable));
 }
 /**
  * Removes a segment from segment index.
  *
  * <p>Call is asynchronous. It comes back immediately.
  *
  * <p>Does not remove it from the external cache.
  *
  * @param header segment header
  */
 public void remove(RolapStar star, SegmentHeader header) {
   final Locus locus = Locus.peek();
   ACTOR.event(
       handler,
       new SegmentRemoveEvent(
           System.currentTimeMillis(),
           locus.getServer().getMonitor(),
           locus.getServer().getId(),
           locus.execution.getMondrianStatement().getMondrianConnection().getId(),
           locus.execution.getMondrianStatement().getId(),
           locus.execution.getId(),
           this,
           star,
           header));
 }
 public void printCacheState(CellRegion region, PrintWriter pw, Locus locus) {
   ACTOR.execute(handler, new PrintCacheStateCommand(region, pw, locus));
 }
 public <T> T execute(Command<T> command) {
   return ACTOR.execute(handler, command);
 }