All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.deephaven.client.SessionSubcomponent Maven / Gradle / Ivy

There is a newer version: 0.37.1
Show newest version
/**
 * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending
 */
package io.deephaven.client;

import dagger.BindsInstance;
import dagger.Module;
import dagger.Subcomponent;
import io.deephaven.client.impl.SessionFactory;
import io.deephaven.client.impl.SessionImpl;
import io.grpc.ManagedChannel;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ScheduledExecutorService;

@Subcomponent(modules = SessionImplModule.class)
public interface SessionSubcomponent extends SessionFactory {

    SessionImpl newSession();

    CompletableFuture newSessionFuture();

    @Module(subcomponents = SessionSubcomponent.class)
    interface SessionFactorySubcomponentModule {

    }

    @Subcomponent.Builder
    interface Builder {
        Builder managedChannel(@BindsInstance ManagedChannel channel);

        Builder scheduler(@BindsInstance ScheduledExecutorService scheduler);

        // TODO(deephaven-core#1157): Plumb SessionImplConfig.Builder options through dagger

        SessionSubcomponent build();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy