Search in sources :

Example 1 with Context

use of com.ms.silverking.cloud.dht.common.Context in project SilverKing by Morgan-Stanley.

the class DHTSessionImpl method getClientNamespace.

private ClientNamespace getClientNamespace(String namespace) {
    ClientNamespace clientNamespace;
    Context context;
    context = namespaceCreator.createNamespace(namespace);
    clientNamespace = clientNamespaces.get(context.contextAsLong());
    if (clientNamespace == null) {
        ClientNamespace previous;
        NamespaceProperties nsProperties;
        NamespaceOptions nsOptions;
        ClientNamespace parent;
        NamespaceLinkMeta nsLinkMeta;
        nsProperties = getNamespaceProperties(namespace);
        if (nsProperties == null) {
            throw new NamespaceNotCreatedException(namespace);
        }
        nsOptions = nsProperties.getOptions();
        if (nsProperties.getParent() != null) {
            parent = getClientNamespace(nsProperties.getParent());
        } else {
            parent = null;
        }
        if (nsOptions.getAllowLinks() && nsOptions.getVersionMode() == NamespaceVersionMode.SINGLE_VERSION) {
            nsLinkMeta = getNSLinkMeta();
        } else {
            nsLinkMeta = null;
        }
        clientNamespace = new ClientNamespace(this, namespace, nsOptions, serializationRegistry, absMillisTimeSource, server, parent, nsLinkMeta);
        previous = clientNamespaces.putIfAbsent(context.contextAsLong(), clientNamespace);
        if (previous != null) {
            clientNamespace = previous;
        } else {
            if (Log.levelMet(Level.INFO)) {
                Log.info("Created client namespace: " + namespace + " " + context);
            }
            clientNamespaceList.add(clientNamespace);
        }
    }
    return clientNamespace;
}
Also used : Context(com.ms.silverking.cloud.dht.common.Context) NamespaceOptions(com.ms.silverking.cloud.dht.NamespaceOptions) NamespaceProperties(com.ms.silverking.cloud.dht.common.NamespaceProperties) NamespaceNotCreatedException(com.ms.silverking.cloud.dht.daemon.storage.NamespaceNotCreatedException)

Aggregations

NamespaceOptions (com.ms.silverking.cloud.dht.NamespaceOptions)1 Context (com.ms.silverking.cloud.dht.common.Context)1 NamespaceProperties (com.ms.silverking.cloud.dht.common.NamespaceProperties)1 NamespaceNotCreatedException (com.ms.silverking.cloud.dht.daemon.storage.NamespaceNotCreatedException)1