comparison src/luan/lib/rpc/RpcServer.java @ 1119:87c674f3f6b7

add RpcError
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 07 Aug 2017 12:35:45 -0600
parents e4710ddfd287
children e8fc6712b468
comparison
equal deleted inserted replaced
1118:e4710ddfd287 1119:87c674f3f6b7
1 package luan.lib.rpc; 1 package luan.lib.rpc;
2 2
3 import java.io.IOException;
4 import java.net.Socket; 3 import java.net.Socket;
5 import java.util.List; 4 import java.util.List;
6 import java.util.ArrayList; 5 import java.util.ArrayList;
7 6
8 7
9 public class RpcServer extends RpcCon { 8 public class RpcServer extends RpcCon {
10 9
11 public RpcServer(Socket socket) throws IOException { 10 public RpcServer(Socket socket)
11 throws RpcError
12 {
12 super(socket); 13 super(socket);
13 } 14 }
14 15
15 public RpcCall read() 16 public RpcCall read()
16 throws IOException 17 throws RpcError
17 { 18 {
18 List list = readJson(); 19 List list = readJson();
19 String cmd = (String)list.remove(0); 20 String cmd = (String)list.remove(0);
20 Object[] args = list.toArray(); 21 Object[] args = list.toArray();
21 return new RpcCall(inBinary,lenBinary,cmd,args); 22 return new RpcCall(inBinary,lenBinary,cmd,args);
22 } 23 }
23 24
24 public void write(RpcResult result) 25 public void write(RpcResult result)
25 throws IOException 26 throws RpcError
26 { 27 {
27 List list = new ArrayList(); 28 List list = new ArrayList();
28 list.add(true); 29 list.add(true);
29 for( Object val : result.returnValues ) { 30 for( Object val : result.returnValues ) {
30 list.add(val); 31 list.add(val);
31 } 32 }
32 write(result.in,result.lenIn,list); 33 write(result.in,result.lenIn,list);
33 } 34 }
34 35
35 public void write(RpcException ex) 36 public void write(RpcException ex)
36 throws IOException 37 throws RpcError
37 { 38 {
38 List list = new ArrayList(); 39 List list = new ArrayList();
39 list.add(false); 40 list.add(false);
40 for( Object val : ex.values ) { 41 for( Object val : ex.values ) {
41 list.add(val); 42 list.add(val);