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 @Override
43 protected boolean isHeader(Buffer buffer)
44 {
45 return isRequestHeader(buffer);
46 }
47 };
48
49 private final ThreadLocalBuffers _responseBuffers = new ThreadLocalBuffers()
50 {
51 @Override
52 protected Buffer newBuffer(int size)
53 {
54 return newResponseBuffer(size);
55 }
56
57 @Override
58 protected Buffer newHeader(int size)
59 {
60 return newResponseHeader(size);
61 }
62 @Override
63 protected boolean isHeader(Buffer buffer)
64 {
65 return isResponseHeader(buffer);
66 }
67 };
68
69 public HttpBuffers()
70 {
71 super();
72 _requestBuffers.setBufferSize(12*1024);
73 _requestBuffers.setHeaderSize(6*1024);
74 _responseBuffers.setBufferSize(32*1024);
75 _responseBuffers.setHeaderSize(6*1024);
76 }
77
78 @Override
79 protected void doStart()
80 throws Exception
81 {
82 super.doStart();
83 }
84
85
86
87
88
89 @Deprecated
90 public int getHeaderBufferSize()
91 {
92 return _requestBuffers.getHeaderSize();
93 }
94
95 public Buffers getRequestBuffers()
96 {
97 return _requestBuffers;
98 }
99
100
101
102
103 public int getRequestBufferSize()
104 {
105 return _requestBuffers.getBufferSize();
106 }
107
108
109
110
111 public int getRequestHeaderSize()
112 {
113 return _requestBuffers.getHeaderSize();
114 }
115
116 public Buffers getResponseBuffers()
117 {
118 return _responseBuffers;
119 }
120
121
122
123
124 public int getResponseBufferSize()
125 {
126 return _responseBuffers.getBufferSize();
127 }
128
129
130
131
132 public int getResponseHeaderSize()
133 {
134 return _responseBuffers.getHeaderSize();
135 }
136
137 protected abstract Buffer newRequestBuffer(int size);
138
139 protected abstract Buffer newRequestHeader(int size);
140
141 protected abstract Buffer newResponseBuffer(int size);
142
143 protected abstract Buffer newResponseHeader(int size);
144
145
146
147
148
149
150 protected abstract boolean isRequestHeader(Buffer buffer);
151
152
153
154
155
156
157 protected abstract boolean isResponseHeader(Buffer buffer);
158
159
160
161
162
163
164
165 @Deprecated
166 public void setHeaderBufferSize( int headerBufferSize )
167 {
168 setRequestHeaderSize(headerBufferSize);
169 setResponseHeaderSize(headerBufferSize);
170 }
171
172
173
174
175 public void setRequestBufferSize( int size )
176 {
177 if (isStarted())
178 throw new IllegalStateException();
179 _requestBuffers.setBufferSize(size);
180 }
181
182
183
184 public void setRequestHeaderSize( int size )
185 {
186 if (isStarted())
187 throw new IllegalStateException();
188 _requestBuffers.setHeaderSize(size);
189 }
190
191
192
193
194 public void setResponseBufferSize( int size )
195 {
196 if (isStarted())
197 throw new IllegalStateException();
198 _responseBuffers.setBufferSize(size);
199 }
200
201
202
203 public void setResponseHeaderSize( int size )
204 {
205 if (isStarted())
206 throw new IllegalStateException();
207 _responseBuffers.setHeaderSize(size);
208 }
209
210 }