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