Mercurial Hosting > luan
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); |