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.classification.InterfaceAudience;
26 import org.apache.hadoop.hbase.CellScanner;
27 import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;
28 import org.apache.hadoop.hbase.util.Pair;
29 import org.apache.hadoop.security.authorize.PolicyProvider;
30
31 import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;
32 import com.google.common.base.Function;
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 @InterfaceAudience.Private
40 public interface RpcServerInterface {
41
42
43 void setSocketSendBufSize(int size);
44
45 void start();
46
47 void stop();
48
49 void join() throws InterruptedException;
50
51 InetSocketAddress getListenerAddress();
52
53 Pair<Message, CellScanner> call(BlockingService service, MethodDescriptor md,
54 Message param, CellScanner cellScanner, long receiveTime, MonitoredRPCHandler status)
55 throws IOException, ServiceException;
56
57 void setErrorHandler(HBaseRPCErrorHandler handler);
58
59 void openServer();
60
61 void startThreads();
62
63
64
65
66 MetricsHBaseServer getMetrics();
67
68 void setQosFunction(Function<Pair<RequestHeader, Message>, Integer> newFunc);
69
70
71
72
73
74 @VisibleForTesting
75 void refreshAuthManager(PolicyProvider pp);
76 }