rpc.turbo.common.TurboConnectService Maven / Gradle / Ivy
The newest version!
package rpc.turbo.common;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import rpc.turbo.annotation.TurboService;
/**
* 基本的内置服务,建立连接后需要调用
*
* @author Hank
*
*/
@TurboService(version = "1.0.0", rest = "/turbo-service")
public interface TurboConnectService {
public static final int SERVICE_HEARTBEAT = 0;
public static final int SERVICE_CLASS_REGISTER = 1;
public static final int SERVICE_METHOD_REGISTER = 2;
public static final int SERVICE_REST_REGISTER = 3;
public static final int SERVICE_CLASS_ID_REGISTER = 4;
/**
* 固定死顺序,保证serviceId为预设值
*/
public static final Map serviceOrderMap = Map.of(//
"heartbeat", SERVICE_HEARTBEAT, //
"getClassRegisterList", SERVICE_CLASS_REGISTER, //
"getMethodRegisterMap", SERVICE_METHOD_REGISTER, //
"getRestRegisterList", SERVICE_REST_REGISTER, //
"getClassIdMap", SERVICE_CLASS_ID_REGISTER);
/**
* 心跳,true is ok
*
* @return
*/
@TurboService(version = "1.0.0", rest = "/heartbeat")
default CompletableFuture heartbeat() {
return CompletableFuture.completedFuture(Boolean.FALSE);
}
/**
* 获取已注册的RPC类,classString
*
* @return
*/
@TurboService(version = "1.0.0", rest = "/class/list")
CompletableFuture> getClassRegisterList();
/**
* 获取已注册的RPC方法,key:serviceId, value:methodString
*
* @return
*/
@TurboService(version = "1.0.0", rest = "/method/list")
CompletableFuture