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

com.chutneytesting.agent.domain.AgentClient Maven / Gradle / Ivy

/*
 * SPDX-FileCopyrightText: 2017-2024 Enedis
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 */

package com.chutneytesting.agent.domain;

import com.chutneytesting.agent.domain.configure.ConfigurationState;
import com.chutneytesting.agent.domain.configure.NetworkConfiguration;
import com.chutneytesting.agent.domain.explore.ExploreResult;
import com.chutneytesting.agent.domain.network.NetworkDescription;
import com.chutneytesting.engine.domain.delegation.NamedHostAndPort;

/**
 * Used to communicate from the current local agent to a remote one.
 */
public interface AgentClient {

    /**
     * @return empty if remote agent is unreachable, otherwise, return the link from local to remote and all agentLinks known by the remote
     */
    ExploreResult explore(String localName, NamedHostAndPort agentInfo, NetworkConfiguration networkConfiguration);

    /**
     * Propagate final {@link NetworkDescription} to agents discovered during {@link ConfigurationState#EXPLORING} phase.
     */
    void wrapUp(NamedHostAndPort agentInfo, NetworkDescription networkDescription);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy