MCPcopy Create free account
hub / github.com/OpenTSDB/asynchbase / sendHello

Method sendHello

src/SecureRpcHelper94.java:67–100  ·  view source on GitHub ↗
(final Channel channel)

Source from the content-addressed store, hash-verified

65 }
66
67 @Override
68 public void sendHello(final Channel channel) {
69 final byte[] connectionHeader = {'s', 'r', 'p', 'c', 4};
70 byte[] buf = new byte[4 + 1 + 1];
71 ChannelBuffer buffer = ChannelBuffers.wrappedBuffer(buf);
72 buffer.clear();
73 buffer.writeBytes(connectionHeader);
74 //code for Kerberos AuthMethod enum in HBaseRPC
75 buffer.writeByte(client_auth_provider.getAuthMethodCode());
76 Channels.write(channel, buffer);
77
78 // sasl_client is null for Simple Auth case
79 if(sasl_client != null) {
80 byte[] challengeBytes = null;
81 if (sasl_client.hasInitialResponse()) {
82 challengeBytes = processChallenge(new byte[0]);
83 }
84 if (challengeBytes != null) {
85 buf = new byte[4 + challengeBytes.length];
86 buffer = ChannelBuffers.wrappedBuffer(buf);
87 buffer.clear();
88 buffer.writeInt(challengeBytes.length);
89 buffer.writeBytes(challengeBytes);
90
91 //if (LOG.isDebugEnabled()) {
92 // LOG.debug("Sending initial SASL Challenge: "+Bytes.pretty(buf));
93 //}
94 Channels.write(channel, buffer);
95 }
96 } else {
97 sendRPCHeader(channel);
98 region_client.sendVersion(channel);
99 }
100 }
101
102 @Override
103 public ChannelBuffer handleResponse(ChannelBuffer buf, Channel chan) {

Callers

nothing calls this directly

Calls 5

sendRPCHeaderMethod · 0.95
clearMethod · 0.80
sendVersionMethod · 0.80
getAuthMethodCodeMethod · 0.45
processChallengeMethod · 0.45

Tested by

no test coverage detected