Mercurial Hosting > luan
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/goodjava/rpc/Rpc.java Tue Sep 17 01:35:01 2019 -0400 @@ -0,0 +1,36 @@ +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; + } + +}