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

com.azure.cosmos.implementation.directconnectivity.rntbd.RntbdLoop Maven / Gradle / Ivy

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.cosmos.implementation.directconnectivity.rntbd;

import io.netty.channel.EventLoopGroup;
import io.netty.channel.socket.SocketChannel;

import java.util.concurrent.ThreadFactory;

/**
 * Rntbd loop with EventLoopGroup factory.
 */
public interface RntbdLoop {

    /**
     * Get the name of the rntbd loop which will be used as part of the thread name.
     * @return The name of the rntbd loop.
     */
    String getName();

    /**
     * Create a new EventLoopGroup.
     * @param threads The number of threads used in the EventLoopGroup.
     * @param threadFactory The thread factory.
     * @return The new EventLoopGroup.
     */
    EventLoopGroup newEventLoopGroup(int threads, ThreadFactory threadFactory);

    /**
     * Get the socket channel class.
     * @return The socket channel class.
     */
    Class getChannelClass();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy