1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.eclipse.jetty.spdy.generator;
18
19 import java.nio.ByteBuffer;
20
21 import org.eclipse.jetty.spdy.ByteBufferPool;
22 import org.eclipse.jetty.spdy.frames.ControlFrame;
23 import org.eclipse.jetty.spdy.frames.PingFrame;
24
25 public class PingGenerator extends ControlFrameGenerator
26 {
27 public PingGenerator(ByteBufferPool bufferPool)
28 {
29 super(bufferPool);
30 }
31
32 @Override
33 public ByteBuffer generate(ControlFrame frame)
34 {
35 PingFrame ping = (PingFrame)frame;
36
37 int frameBodyLength = 4;
38 int totalLength = ControlFrame.HEADER_LENGTH + frameBodyLength;
39 ByteBuffer buffer = getByteBufferPool().acquire(totalLength, true);
40 generateControlFrameHeader(ping, frameBodyLength, buffer);
41
42 buffer.putInt(ping.getPingId());
43
44 buffer.flip();
45 return buffer;
46 }
47 }