1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.ipc;
21
22 import java.io.IOException;
23 import java.net.InetSocketAddress;
24
25 import org.apache.hadoop.hbase.classification.InterfaceAudience;
26 import org.apache.hadoop.hbase.classification.InterfaceStability;
27 import org.apache.hadoop.hbase.CellScanner;
28 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
29 import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;
30 import org.apache.hadoop.hbase.util.Pair;
31 import org.apache.hadoop.security.authorize.PolicyProvider;
32
33 import com.google.common.annotations.VisibleForTesting;
34 import com.google.protobuf.BlockingService;
35 import com.google.protobuf.Descriptors.MethodDescriptor;
36 import com.google.protobuf.Message;
37 import com.google.protobuf.ServiceException;
38
39
40
41
42
43
44
45
46 @InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})
47 @InterfaceStability.Evolving
48 public interface RpcServerInterface {
49 void start();
50 void openServer();
51 void startThreads();
52 boolean isStarted();
53
54 void stop();
55 void join() throws InterruptedException;
56
57 void setSocketSendBufSize(int size);
58 InetSocketAddress getListenerAddress();
59
60 Pair<Message, CellScanner> call(BlockingService service, MethodDescriptor md,
61 Message param, CellScanner cellScanner, long receiveTime, MonitoredRPCHandler status)
62 throws IOException, ServiceException;
63
64 void setErrorHandler(HBaseRPCErrorHandler handler);
65 HBaseRPCErrorHandler getErrorHandler();
66
67
68
69
70 MetricsHBaseServer getMetrics();
71
72
73
74
75
76
77 void addCallSize(long diff);
78
79
80
81
82
83 @VisibleForTesting
84 void refreshAuthManager(PolicyProvider pp);
85 }