WorkerSelector.java 918 字节
Newer Older
1 2
package com.a.eye.skywalking.collector.actor.selector;

P
pengys5 已提交
3
import com.a.eye.skywalking.collector.actor.AbstractWorker;
4 5 6 7 8
import com.a.eye.skywalking.collector.actor.WorkerRef;

import java.util.List;

/**
P
pengys5 已提交
9 10 11 12 13
 * The <code>WorkerSelector</code> should be implemented by any class whose instances
 * are intended to provide select a {@link WorkerRef} from a {@link WorkerRef} list.
 * <p>
 * Actually, the <code>WorkerRef</code> is designed to provide a routing ability in the collector cluster
 *
14
 * @author pengys5
P
pengys5 已提交
15
 * @since v3.0-2017
16
 */
17
public interface WorkerSelector<T extends WorkerRef> {
P
pengys5 已提交
18 19 20 21 22 23 24 25

    /**
     * select a {@link WorkerRef} from a {@link WorkerRef} list.
     *
     * @param members given {@link WorkerRef} list, which size is greater than 0;
     * @param message the {@link AbstractWorker} is going to send.
     * @return the selected {@link WorkerRef}
     */
26
    T select(List<T> members, Object message);
27
}