MCPcopy Create free account
hub / github.com/apache/thrift / TBaseProcessor

Class TBaseProcessor

lib/java/src/main/java/org/apache/thrift/TBaseProcessor.java:11–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9import org.apache.thrift.protocol.TType;
10
11public abstract class TBaseProcessor<I> implements TProcessor {
12 private final I iface;
13 private final Map<String, ProcessFunction<I, ? extends TBase, ? extends TBase>> processMap;
14
15 protected TBaseProcessor(
16 I iface,
17 Map<String, ProcessFunction<I, ? extends TBase, ? extends TBase>> processFunctionMap) {
18 this.iface = iface;
19 this.processMap = processFunctionMap;
20 }
21
22 public Map<String, ProcessFunction<I, ? extends TBase, ? extends TBase>> getProcessMapView() {
23 return Collections.unmodifiableMap(processMap);
24 }
25
26 @Override
27 public void process(TProtocol in, TProtocol out) throws TException {
28 TMessage msg = in.readMessageBegin();
29 ProcessFunction fn = processMap.get(msg.name);
30 if (fn == null) {
31 TProtocolUtil.skip(in, TType.STRUCT);
32 in.readMessageEnd();
33 TApplicationException x =
34 new TApplicationException(
35 TApplicationException.UNKNOWN_METHOD, "Invalid method name: '" + msg.name + "'");
36 out.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
37 x.write(out);
38 out.writeMessageEnd();
39 out.getTransport().flush();
40 } else {
41 fn.process(msg.seqid, in, out, iface);
42 }
43 }
44}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected