1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.omid.tso.client;
19
20 import org.apache.omid.proto.TSOProto;
21 import org.apache.omid.proto.TSOProto.Response;
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24
25 import java.util.concurrent.ExecutionException;
26
27
28
29
30 public class TSOClientOneShot {
31
32 private static final Logger LOG = LoggerFactory.getLogger(TSOClientOneShot.class);
33
34 private final String host;
35 private final int port;
36
37 public TSOClientOneShot(String host, int port) {
38
39 this.host = host;
40 this.port = port;
41
42 }
43
44 public TSOProto.Response makeRequest(TSOProto.Request request)
45 throws InterruptedException, ExecutionException {
46 TSOClientRaw raw = new TSOClientRaw(host, port);
47
48
49 TSOProto.HandshakeRequest.Builder handshake = TSOProto.HandshakeRequest.newBuilder();
50 handshake.setClientCapabilities(TSOProto.Capabilities.newBuilder().build());
51 raw.write(TSOProto.Request.newBuilder()
52 .setHandshakeRequest(handshake.build()).build());
53 Response response = raw.getResponse().get();
54 assert (response.getHandshakeResponse().getClientCompatible());
55
56 raw.write(request);
57 response = raw.getResponse().get();
58
59 raw.close();
60 return response;
61 }
62
63 }