1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.eclipse.jetty.http;
15
16 import org.eclipse.jetty.io.Buffer;
17 import org.eclipse.jetty.io.Buffers;
18 import org.eclipse.jetty.io.ThreadLocalBuffers;
19 import org.eclipse.jetty.util.component.AbstractLifeCycle;
20
21
22
23
24
25
26 public abstract class HttpBuffers extends AbstractLifeCycle
27 {
28
29 private final ThreadLocalBuffers _requestBuffers = new ThreadLocalBuffers()
30 {
31 @Override
32 protected Buffer newBuffer(int size)
33 {
34 return newRequestBuffer(size);
35 }
36
37 @Override
38 protected Buffer newHeader(int size)
39 {
40 return newRequestHeader(size);
41 }
42 };
43
44 private final ThreadLocalBuffers _responseBuffers = new ThreadLocalBuffers()
45 {
46 @Override
47 protected Buffer newBuffer(int size)
48 {
49 return newResponseBuffer(size);
50 }
51
52 @Override
53 protected Buffer newHeader(int size)
54 {
55 return newResponseHeader(size);
56 }
57 };
58
59 public HttpBuffers()
60 {
61 super();
62 _requestBuffers.setBufferSize(8*1024);
63 _requestBuffers.setHeaderSize(6*1024);
64 _responseBuffers.setBufferSize(12*1024);
65 _responseBuffers.setHeaderSize(6*1024);
66 }
67
68 protected void doStart()
69 throws Exception
70 {
71 super.doStart();
72 }
73
74
75
76
77
78 public int getHeaderBufferSize()
79 {
80 return _requestBuffers.getHeaderSize();
81 }
82
83 public Buffers getRequestBuffers()
84 {
85 return _requestBuffers;
86 }
87
88
89
90
91 public int getRequestBufferSize()
92 {
93 return _requestBuffers.getBufferSize();
94 }
95
96
97
98
99 public int getRequestHeaderSize()
100 {
101 return _requestBuffers.getHeaderSize();
102 }
103
104 public Buffers getResponseBuffers()
105 {
106 return _requestBuffers;
107 }
108
109
110
111
112 public int getResponseBufferSize()
113 {
114 return _responseBuffers.getBufferSize();
115 }
116
117
118
119
120 public int getResponseHeaderSize()
121 {
122 return _responseBuffers.getHeaderSize();
123 }
124
125 protected abstract Buffer newRequestBuffer(int size);
126
127 protected abstract Buffer newRequestHeader(int size);
128
129 protected abstract Buffer newResponseBuffer(int size);
130
131 protected abstract Buffer newResponseHeader(int size);
132
133
134
135
136
137 public void setHeaderBufferSize( int headerBufferSize )
138 {
139 setRequestHeaderSize(headerBufferSize);
140 setResponseHeaderSize(headerBufferSize);
141 }
142
143
144
145
146 public void setRequestBufferSize( int size )
147 {
148 if (isStarted())
149 throw new IllegalStateException();
150 _requestBuffers.setBufferSize(size);
151 }
152
153
154
155 public void setRequestHeaderSize( int size )
156 {
157 if (isStarted())
158 throw new IllegalStateException();
159 _requestBuffers.setHeaderSize(size);
160 }
161
162
163
164
165 public void setResponseBufferSize( int size )
166 {
167 if (isStarted())
168 throw new IllegalStateException();
169 _responseBuffers.setBufferSize(size);
170 }
171
172
173
174 public void setResponseHeaderSize( int size )
175 {
176 if (isStarted())
177 throw new IllegalStateException();
178 _responseBuffers.setHeaderSize(size);
179 }
180
181 }