Home | History | Annotate | Download | only in elonen

Lines Matching refs:frame

81     protected void handleWebsocketFrame(WebSocketFrame frame) throws IOException {
82 if (frame.getOpCode() == OpCode.Close) {
83 handleCloseFrame(frame);
84 } else if (frame.getOpCode() == OpCode.Ping) {
85 sendFrame(new WebSocketFrame(OpCode.Pong, true, frame.getBinaryPayload()));
86 } else if (frame.getOpCode() == OpCode.Pong) {
87 onPong(frame);
88 } else if (!frame.isFin() || frame.getOpCode() == OpCode.Continuation) {
89 handleFrameFragment(frame);
91 throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence not completed.");
92 } else if (frame.getOpCode() == OpCode.Text || frame.getOpCode() == OpCode.Binary) {
93 onMessage(frame);
95 throw new WebSocketException(CloseCode.ProtocolError, "Non control or continuous frame expected.");
99 protected void handleCloseFrame(WebSocketFrame frame) throws IOException {
102 if (frame instanceof CloseFrame) {
103 code = ((CloseFrame) frame).getCloseCode();
104 reason = ((CloseFrame) frame).getCloseReason();
120 protected void handleFrameFragment(WebSocketFrame frame) throws IOException {
121 if (frame.getOpCode() != OpCode.Continuation) {
124 throw new WebSocketException(CloseCode.ProtocolError, "Previous continuous frame sequence not completed.");
126 continuousOpCode = frame.getOpCode();
128 continuousFrames.add(frame);
129 } else if (frame.isFin()) {
132 throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence was not started.");
139 throw new WebSocketException(CloseCode.ProtocolError, "Continuous frame sequence was not started.");
142 continuousFrames.add(frame);
146 public synchronized void sendFrame(WebSocketFrame frame) throws IOException {
147 frame.write(out);