(final Channel channel)
| 166 | } |
| 167 | |
| 168 | private void sendRPCHeader(final Channel channel) { |
| 169 | final byte[] user_bytes = Bytes.UTF8(client_auth_provider.getClientUsername()); |
| 170 | final String klass = "org.apache.hadoop.hbase.ipc.HRegionInterface"; |
| 171 | final byte[] class_bytes = Bytes.UTF8(klass); |
| 172 | final byte[] buf = new byte[ |
| 173 | 4 + 1 + class_bytes.length + 1 + 2 + user_bytes.length + 1]; |
| 174 | |
| 175 | ChannelBuffer out_buffer = ChannelBuffers.wrappedBuffer(buf); |
| 176 | out_buffer.clear(); |
| 177 | out_buffer.writerIndex(out_buffer.writerIndex() + 4); |
| 178 | out_buffer.writeByte(class_bytes.length); // 1 |
| 179 | out_buffer.writeBytes(class_bytes); // 44 |
| 180 | //This is part of protocol header |
| 181 | //true if a user field exists |
| 182 | //1 is true in boolean |
| 183 | out_buffer.writeByte(1); |
| 184 | out_buffer.writeShort(user_bytes.length); |
| 185 | out_buffer.writeBytes(user_bytes); |
| 186 | //true if a realUser field exists |
| 187 | out_buffer.writeByte(0); |
| 188 | //write length |
| 189 | out_buffer.setInt(0, out_buffer.writerIndex() - 4); |
| 190 | out_buffer = wrap(out_buffer); |
| 191 | //if(LOG.isDebugEnabled()) { |
| 192 | // LOG.debug("Sending RPC Header: " + Bytes.pretty(out_buffer)); |
| 193 | //} |
| 194 | Channels.write(channel, out_buffer); |
| 195 | } |
| 196 | |
| 197 | } |
no test coverage detected