Mercurial Hosting > luan
annotate src/org/eclipse/jetty/io/JBuffer.java @ 1066:bbbda7c6e8ec
fix use of HttpGenerator._header
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Wed, 09 Nov 2016 05:48:10 -0700 |
| parents | 158d1e6ac17f |
| children | b4ba8a4d5a16 |
| rev | line source |
|---|---|
| 1046 | 1 // tmp class to implement Buffer until I can get rid of it |
| 2 | |
| 3 package org.eclipse.jetty.io; | |
| 4 | |
| 5 import java.io.InputStream; | |
| 6 import java.io.IOException; | |
| 7 import java.nio.ByteBuffer; | |
| 8 import org.slf4j.Logger; | |
| 9 import org.slf4j.LoggerFactory; | |
| 10 import org.eclipse.jetty.util.TypeUtil; | |
| 11 | |
| 12 | |
| 1048 | 13 public final class JBuffer { |
| 1046 | 14 private static final Logger LOG = LoggerFactory.getLogger(JBuffer.class); |
| 15 | |
| 16 private final ByteBuffer bb; | |
| 17 | |
| 18 public JBuffer(ByteBuffer bb) { | |
| 19 this.bb = bb; | |
| 20 } | |
| 21 | |
|
1050
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
22 public int position() { |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
23 return bb.position(); |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
24 } |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
25 |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
26 public void position(int i) { |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
27 bb.position(i); |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
28 } |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
29 |
|
1062
4a50422596b6
fix JBuffer.getByteBuffer()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1061
diff
changeset
|
30 public int limit() { |
|
4a50422596b6
fix JBuffer.getByteBuffer()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1061
diff
changeset
|
31 return bb.limit(); |
|
4a50422596b6
fix JBuffer.getByteBuffer()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1061
diff
changeset
|
32 } |
|
4a50422596b6
fix JBuffer.getByteBuffer()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1061
diff
changeset
|
33 |
|
1050
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
34 public void limit(int i) { |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
35 bb.limit(i); |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
36 } |
|
5ef954fad97b
remove JBuffer.sliceFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1049
diff
changeset
|
37 |
| 1046 | 38 public byte[] array() { |
| 1053 | 39 return bb.array(); |
| 40 } | |
| 41 | |
| 42 public boolean hasArray() { | |
| 43 return bb.hasArray(); | |
| 1046 | 44 } |
| 45 | |
| 1048 | 46 public JBuffer duplicate() { |
| 1046 | 47 return new JBuffer(bb.duplicate()); |
| 48 } | |
| 49 | |
| 50 public int remaining() { | |
| 51 return bb.remaining(); | |
| 52 } | |
| 53 | |
| 54 public boolean isReadOnly() { | |
| 55 return bb.isReadOnly(); | |
| 56 } | |
| 57 | |
| 58 public boolean hasRemaining() { | |
| 59 return bb.hasRemaining(); | |
| 60 } | |
| 61 | |
| 62 public byte get() { | |
| 63 return bb.get(); | |
| 64 } | |
| 65 | |
|
1054
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
66 public void get(byte[] bytes) { |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
67 bb.get(bytes); |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
68 } |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
69 |
| 1046 | 70 public void compact() { |
| 71 bb.compact(); | |
| 72 } | |
| 73 | |
| 74 public int capacity() { | |
| 75 return bb.capacity(); | |
| 76 } | |
| 77 | |
| 78 | |
| 79 | |
| 80 public ByteBuffer getByteBuffer() { | |
|
1062
4a50422596b6
fix JBuffer.getByteBuffer()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1061
diff
changeset
|
81 return bb; |
| 1046 | 82 } |
| 83 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
84 public void clear() { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
85 bb.clear(); |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
86 } |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
87 |
|
1065
158d1e6ac17f
fix JBuffer.compact()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1064
diff
changeset
|
88 public void clearJ() { |
| 1046 | 89 bb.position(0); |
| 90 bb.limit(0); | |
| 91 } | |
| 92 | |
| 93 public int space() { | |
| 94 return bb.capacity() - bb.limit(); | |
| 95 } | |
| 96 | |
| 97 | |
| 1060 | 98 public void get(byte[] b, int offset, int length) { |
| 1046 | 99 bb.get(b,offset,length); |
| 100 } | |
| 101 | |
| 102 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
103 public void putQ(JBuffer src) { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
104 bb.put(src.bb); |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
105 } |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
106 |
| 1048 | 107 public int put(JBuffer src) { |
| 1046 | 108 return put(src.asArray()); |
| 109 } | |
| 110 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
111 public void putQ(byte b) { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
112 bb.put(b); |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
113 } |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
114 |
| 1046 | 115 public void put(byte b) |
| 116 { | |
| 117 ByteBuffer dup = bb.duplicate(); | |
| 118 dup.position(bb.limit()); | |
| 119 dup.limit(bb.capacity()); | |
| 120 dup.put(b); | |
| 121 bb.limit(bb.limit()+1); | |
| 122 } | |
| 123 | |
|
1049
4afdf0f0c5bc
remove unused JBuffer methods
Franklin Schmidt <fschmidt@gmail.com>
parents:
1048
diff
changeset
|
124 private int put(byte[] b, int offset, int length) { |
| 1046 | 125 ByteBuffer dup = bb.duplicate(); |
| 126 int put = bb.limit(); | |
| 127 int capacity = bb.capacity(); | |
| 128 dup.position(put); | |
| 129 dup.limit(capacity); | |
| 130 if( length > capacity - put ) | |
| 131 length = capacity - put; | |
| 132 dup.put(b,offset,length); | |
| 133 bb.limit(put+length); | |
| 134 return length; | |
| 135 } | |
| 136 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
137 public void putQ(byte[] b) { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
138 bb.put(b); |
| 1046 | 139 } |
| 140 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
141 public int put(byte[] b) { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
142 return put(b,0,b.length); |
| 1046 | 143 } |
| 144 | |
|
1051
1ab2dd0a7db5
remove JBuffer.get(int)
Franklin Schmidt <fschmidt@gmail.com>
parents:
1050
diff
changeset
|
145 public void skip(int n) { |
| 1046 | 146 if (remaining() < n) n = remaining(); |
| 147 bb.position(bb.position() + n); | |
| 148 } | |
| 149 | |
| 1060 | 150 private final byte[] asArray() { |
| 1046 | 151 byte[] bytes = new byte[remaining()]; |
| 152 bb.duplicate().get(bytes); | |
| 153 return bytes; | |
| 154 } | |
|
1064
a0abb16cf6e7
remove JBuffer.readFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1063
diff
changeset
|
155 /* |
| 1046 | 156 @Override |
|
1054
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
157 public String toString() { |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
158 // return toString("ISO-8859-1"); |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
159 // Thread.dumpStack(); |
|
87275900646e
remove JBuffer.toString()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1053
diff
changeset
|
160 throw new RuntimeException("toString"); |
| 1046 | 161 } |
|
1064
a0abb16cf6e7
remove JBuffer.readFrom()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1063
diff
changeset
|
162 */ |
| 1046 | 163 |
|
1052
4a2489f1d5fe
remove JBuffer.peek()
Franklin Schmidt <fschmidt@gmail.com>
parents:
1051
diff
changeset
|
164 public byte get(int index) { |
| 1046 | 165 return bb.get(index); |
| 166 } | |
| 167 | |
|
1066
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
168 public void flip() { |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
169 bb.flip(); |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
170 } |
|
bbbda7c6e8ec
fix use of HttpGenerator._header
Franklin Schmidt <fschmidt@gmail.com>
parents:
1065
diff
changeset
|
171 |
| 1046 | 172 } |
