view src/goodjava/rpc/Rpc.java @ 1402:27efb1fcbcb5

move luan.lib to goodjava
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 17 Sep 2019 01:35:01 -0400
parents src/luan/lib/rpc/Rpc.java@e4710ddfd287
children 491b355acef7
line wrap: on
line source

package goodjava.rpc;

import java.io.IOException;


// static utils
public class Rpc {
	private Rpc() {}  // never

	public static final RpcResult OK = new RpcResult();

	public static final RpcCall CLOSE = new RpcCall("close");
	public static final RpcCall PING = new RpcCall("ping");
	public static final String ECHO = "echo";

	public static final RpcException COMMAND_NOT_FOUND = new RpcException("command_not_found");

	public static boolean handle(RpcServer server,RpcCall call)
		throws IOException
	{
		if( CLOSE.cmd.equals(call.cmd) ) {
			server.close();
			return true;
		}
		if( PING.cmd.equals(call.cmd) ) {
			server.write(OK);
			return true;
		}
		if( ECHO.equals(call.cmd) ) {
			server.write(new RpcResult(call.args));
			return true;
		}
		return false;
	}

}