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.WindowUpdateFrame;
21
22 public class WindowUpdateGenerator extends ControlFrameGenerator
23 {
24 public WindowUpdateGenerator(ByteBufferPool bufferPool)
25 {
26 super(bufferPool);
27 }
28
29 @Override
30 public ByteBuffer generate(ControlFrame frame)
31 {
32 WindowUpdateFrame windowUpdate = (WindowUpdateFrame)frame;
33
34 int frameBodyLength = 8;
35 int totalLength = ControlFrame.HEADER_LENGTH + frameBodyLength;
36 ByteBuffer buffer = getByteBufferPool().acquire(totalLength, true);
37 generateControlFrameHeader(windowUpdate, frameBodyLength, buffer);
38
39 buffer.putInt(windowUpdate.getStreamId() & 0x7F_FF_FF_FF);
40 buffer.putInt(windowUpdate.getWindowDelta() & 0x7F_FF_FF_FF);
41
42 buffer.flip();
43 return buffer;
44 }
45 }