1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.jsr356.messages;
20
21 import java.io.IOException;
22 import java.nio.ByteBuffer;
23
24 import javax.websocket.MessageHandler;
25 import javax.websocket.MessageHandler.Partial;
26
27 import org.eclipse.jetty.util.BufferUtil;
28 import org.eclipse.jetty.websocket.common.message.MessageAppender;
29 import org.eclipse.jetty.websocket.jsr356.MessageHandlerWrapper;
30
31
32
33
34 public class TextPartialMessage implements MessageAppender
35 {
36 @SuppressWarnings("unused")
37 private final MessageHandlerWrapper msgWrapper;
38 private final MessageHandler.Partial<String> partialHandler;
39
40 @SuppressWarnings("unchecked")
41 public TextPartialMessage(MessageHandlerWrapper wrapper)
42 {
43 this.msgWrapper = wrapper;
44 this.partialHandler = (Partial<String>)wrapper.getHandler();
45 }
46
47 @Override
48 public void appendFrame(ByteBuffer payload, boolean isLast) throws IOException
49 {
50 String msg = null;
51
52
53 if (payload != null)
54 msg = BufferUtil.toUTF8String(payload.slice());
55
56 partialHandler.onMessage(msg, isLast);
57 }
58
59 @Override
60 public void messageComplete()
61 {
62
63 }
64 }