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