1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.giraph.comm.requests;
20
21 import org.apache.giraph.comm.netty.SaslNettyServer;
22 import org.apache.log4j.Logger;
23 import java.io.DataInput;
24 import java.io.DataOutput;
25 import java.io.IOException;
26
27
28
29
30 public class SaslTokenMessageRequest extends WritableRequest {
31
32 private static final Logger LOG =
33 Logger.getLogger(SaslTokenMessageRequest.class);
34
35
36 private byte[] token;
37
38
39
40
41 public SaslTokenMessageRequest() { }
42
43
44
45
46
47
48 public SaslTokenMessageRequest(byte[] token) {
49 this.token = token;
50 }
51
52
53
54
55
56
57 public byte[] getSaslToken() {
58 return token;
59 }
60
61
62
63
64
65
66 public void setSaslToken(byte[] token) {
67 this.token = token;
68 }
69
70 @Override
71 public RequestType getType() {
72 return RequestType.SASL_TOKEN_MESSAGE_REQUEST;
73 }
74
75 @Override
76 public void readFieldsRequest(DataInput input) throws IOException {
77 int tokenSize = input.readInt();
78 token = new byte[tokenSize];
79 input.readFully(token);
80 }
81
82
83
84
85
86
87
88
89
90 public void processToken(SaslNettyServer saslNettyServer) {
91 if (LOG.isDebugEnabled()) {
92 LOG.debug("processToken: With nettyServer: " + saslNettyServer +
93 " and token length: " + token.length);
94 }
95 token = saslNettyServer.response(token);
96 if (LOG.isDebugEnabled()) {
97 LOG.debug("processToken: Response token's length is:" + token.length);
98 }
99 }
100
101 @Override
102 public void writeRequest(DataOutput output) throws IOException {
103 output.writeInt(token.length);
104 output.write(token);
105 }
106
107 @Override
108 public int getSerializedSize() {
109 return super.getSerializedSize() + 4 + token.length;
110 }
111 }