Package com.sun.sgs.service

Examples of com.sun.sgs.service.DataService


      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

     * within a transaction.
     */
    private static Map<Long, Set<ProtocolDescriptor>>
  getProtocolDescriptorsMap()
    {
  DataService dataService = getInstance().getDataService();
  Map<Long, Set<ProtocolDescriptor>> protocolDescriptorsMap;
  try {
      protocolDescriptorsMap = Objects.uncheckedCast(
    dataService.getServiceBinding(PROTOCOL_DESCRIPTORS_MAP_KEY));
  } catch (NameNotBoundException e) {
      protocolDescriptorsMap =
    new ScalableHashMap<Long, Set<ProtocolDescriptor>>();
      dataService.setServiceBinding(PROTOCOL_DESCRIPTORS_MAP_KEY,
            protocolDescriptorsMap);
  }
  return protocolDescriptorsMap;
    }
View Full Code Here

   * also removes the protocol descriptors for the node
   * specified during construction.
   */
  public void run() {
      String sessionServerKey = getClientSessionServerKey(nodeId);
      DataService dataService = getInstance().getDataService();
      try {
    dataService.removeObject(
        dataService.getServiceBinding(sessionServerKey));
    getProtocolDescriptorsMap().remove(nodeId);
      } catch (NameNotBoundException e) {
    // already removed
    return;
      } catch (ObjectNotFoundException e) {
      }
      dataService.removeServiceBinding(sessionServerKey);
  }
View Full Code Here

  this.identity = identity;
  this.deliveries = deliveries;
  this.nodeId = sessionService.getLocalNodeId();
        this.maxMessageLength = maxMessageLength;
  writeBufferCapacity = sessionService.getWriteBufferSize();
  DataService dataService = sessionService.getDataService();
  ManagedReference<ClientSessionImpl> sessionRef =
      dataService.createReference(this);
  id = sessionRef.getId();
  this.wrappedSessionRef =
      dataService.createReference(new ClientSessionWrapper(sessionRef));
  idBytes = id.toByteArray();
  // TBD: these service bindings could be stored in a BindingKeyedMap
  // instead.
  dataService.setServiceBinding(getSessionKey(), this);
  dataService.setServiceBinding(getSessionNodeKey(), this);
  dataService.setServiceBinding(getEventQueueKey(), new EventQueue(this));
  logger.log(Level.FINEST, "Stored session, identity:{0} id:{1}",
       identity, id);
    }
View Full Code Here

  if (newNodeId != sessionService.getLocalNodeId()) {
      throw new IllegalArgumentException(
    "newNodeId:" + newNodeId + " must match the local node ID:" +
    sessionService.getLocalNodeId());
  }
  DataService dataService = sessionService.getDataService();
  dataService.markForUpdate(this);
  dataService.removeServiceBinding(getSessionNodeKey());
  nodeId = newNodeId;
  // TBD: this could use a BindingKeyedMap.
  dataService.setServiceBinding(getSessionNodeKey(), this);
    }
View Full Code Here

     * Returns the event queue for the client session with the specified
     * {@code sessionId}, or null if the event queue is not bound in the
     * data service.
     */
    private static EventQueue getEventQueue(byte[] sessionId) {
  DataService dataService =
      ClientSessionServiceImpl.getInstance().getDataService();
  String eventQueueKey = getEventQueueKey(sessionId);
  try {
      return (EventQueue) dataService.getServiceBinding(eventQueueKey);
  } catch (NameNotBoundException e) {
      return null;
  }
    }
View Full Code Here

  /**
   * 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

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.