Package com.sun.sgs.service

Examples of com.sun.sgs.service.DataService


  /**
   * Constructs an event queue for the specified {@code sessionImpl}.
   */
  EventQueue(ClientSessionImpl sessionImpl) {
      DataService dataService =
    sessionImpl.sessionService.getDataService();
      sessionRef = dataService.createReference(sessionImpl);
      queueRef = dataService.createReference(
    new ManagedQueue<SessionEvent>());
      writeBufferAvailable = sessionImpl.writeBufferCapacity;
  }
View Full Code Here


    }
    return;
      }

      ManagedQueue<SessionEvent> eventQueue = getQueue();
      DataService dataService =
    ClientSessionServiceImpl.getInstance().getDataService();
     
      for (int i = 0; i < sessionService.eventsPerTxn; i++) {
    SessionEvent event = eventQueue.poll();
    if (event == null) {
        // no more events
        // TBD: should the session's task queue for servicing
        // events be cleared?
        return;
    }

    logger.log(Level.FINEST, "processing event:{0}", event);

                int cost = event.getCost();
    if (cost > 0) {
        // TBD: this update is costly.
        dataService.markForUpdate(this);
        writeBufferAvailable += cost;
        if (logger.isLoggable(Level.FINEST)) {
            logger.log(Level.FINEST,
           "{0} cleared reservation of " +
           "{1,number,#} bytes, leaving {2,number,#}",
View Full Code Here

  /* -- Implement ManagedObjectRemoval -- */

  /** {@inheritDoc} */
  public void removingObject() {
      try {
    DataService dataService =
        ClientSessionServiceImpl.getInstance().getDataService();
    dataService.removeObject(queueRef.get());
      } catch (ObjectNotFoundException e) {
    // already removed.
      }
  }
View Full Code Here

      lastKey = nodePrefix;
  }

  /** {@inheritDoc} */
  public void run() {
      DataService dataService =
    ClientSessionServiceImpl.getInstance().getDataService();
      // TBD: this could use a BindingKeyedMap.
      String key = dataService.nextServiceBoundName(lastKey);
      if (key != null && key.startsWith(nodePrefix)) {
    TaskService taskService =
        ClientSessionServiceImpl.getTaskService();
    taskService.scheduleTask(
        new CleanupDisconnectedSessionTask(key));
View Full Code Here

      this.key = key;
  }

  /** {@inheritDoc} */
  public void run() {
      DataService dataService =
    ClientSessionServiceImpl.getInstance().getDataService();
      ClientSessionImpl sessionImpl =
    (ClientSessionImpl) dataService.getServiceBinding(key);
      sessionImpl.notifyListenerAndRemoveSession(
    dataService, false, true);
  }
View Full Code Here

      if (savedMessages.isEmpty()) {
    // Saved messages no longer exist, so "cancel" periodic task.
    return;
      } else {
    // Remove messages saved past their expiration time.
    DataService dataService = getDataService();
    TaskManager taskManager = AppContext.getTaskManager();
    Iterator<ChannelMessageInfo> iter =
        savedMessages.values().iterator();
    while (taskManager.shouldContinue() && iter.hasNext()) {
        ChannelMessageInfo messageInfo = iter.next();
        if (messageInfo.isExpired()) {
      if (logger.isLoggable(Level.FINEST)) {
          logger.log(
        Level.FINEST,
        "Removing saved message, channel:{0} " +
        "timestamp:{1}", channelRefId,
        messageInfo.timestamp);
      }
      iter.remove();
      dataService.removeObject(messageInfo);
        } else {
      break;
        }
    }
    if (!savedMessages.isEmpty()) {
View Full Code Here

  SgsTestNode node = new SgsTestNode(
      "TestKernelSetAccessCoordinator", null, properties);
        Identity taskOwner = node.getProxy().getCurrentOwner();
        TransactionScheduler txnScheduler =
      node.getSystemRegistry().getComponent(TransactionScheduler.class);
  final DataService dataService = node.getDataService();
  txnScheduler.runTask(
      new TestAbstractKernelRunnable() {
    public void run() throws Exception {
        dataService.setBinding("a", new DummyManagedObject());
    }
      }, taskOwner);
  assertTrue(MyAccessCoordinator.getUsed());
  node.shutdown(false);
    }
View Full Code Here

  /**
   * Constructs an event queue for the specified {@code channel}.
   */
  EventQueue(ChannelImpl channel) {
      DataService dataService = getDataService();
      channelRef = dataService.createReference(channel);
      queueRef = dataService.createReference(
    new ManagedQueue<ChannelEvent>());
      writeBufferAvailable = channel.getWriteBufferCapacity();
  }
View Full Code Here

  Properties props = getNodeProps();
  props.setProperty(DataServiceImplClass + ".detect.modifications",
        String.valueOf(detectMods));
  props.setProperty("com.sun.sgs.txn.timeout", "10000");
  serverNode = new SgsTestNode("TestDataServicePerformance", null, props);
  final DataService service = serverNode.getDataService();
        TransactionScheduler txnScheduler = serverNode.getSystemRegistry().
            getComponent(TransactionScheduler.class);
        Identity taskOwner = serverNode.getProxy().getCurrentOwner();
        txnScheduler.runTask(new TestAbstractKernelRunnable() {
                public void run() {
                    service.setBinding("counters", new Counters(items));
                }}, taskOwner);
        for (int r = 0; r < repeat; r++) {
            long start = System.currentTimeMillis();
            for (int c = 0; c < count; c++) {
                txnScheduler.runTask(new TestAbstractKernelRunnable() {
                        public void run() throws Exception {
                            Counters counters =
                                (Counters) service.getBinding("counters");
                            for (int i = 0; i < items; i++) {
                                counters.get(i);
                            }
                        }}, taskOwner);
            }
View Full Code Here

    @Test
    public void testReadForUpdate() throws Exception {
  Properties props = getNodeProps();
  props.setProperty("com.sun.sgs.txn.timeout", "10000");
  serverNode = new SgsTestNode("TestDataServicePerformance", null, props);
  final DataService service = serverNode.getDataService();
        TransactionScheduler txnScheduler = serverNode.getSystemRegistry().
            getComponent(TransactionScheduler.class);
        Identity taskOwner = serverNode.getProxy().getCurrentOwner();
        txnScheduler.runTask(new TestAbstractKernelRunnable() {
                public void run() {
                    service.setBinding("counters", new Counters(items));
                }}, taskOwner);
        for (int r = 0; r < repeat; r++) {
            long start = System.currentTimeMillis();
            for (int c = 0; c < count; c++) {
                txnScheduler.runTask(new TestAbstractKernelRunnable() {
                        public void run() throws Exception {
                            Counters counters =
                                (Counters) service.getBinding("counters");
                            for (int i = 0; i < items; i++) {
                                counters.getForUpdate(i);
                            }
                        }}, taskOwner);
            }
View Full Code Here

TOP

Related Classes of com.sun.sgs.service.DataService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.