Skip to content

Commit 7be0a29

Browse files
committed
Authentication Metadata Extension support (#731)
* fixes tuples bytebufs Signed-off-by: Oleh Dokuka <[email protected]> * provides first draft implementation of AuthMetadataFlyweight right now it supports encoding only Signed-off-by: Oleh Dokuka <[email protected]> * provides full implementation of AuthMetadataFlyweight Signed-off-by: Oleh Dokuka <[email protected]> * provides draft of AuthMetadata Signed-off-by: Oleh Dokuka <[email protected]> * fixes allowed username max length Signed-off-by: Oleh Dokuka <[email protected]> * removes eager release Signed-off-by: Oleh Dokuka <[email protected]> * fixes formating Signed-off-by: Oleh Dokuka <[email protected]> * provides minor fixes Signed-off-by: Oleh Dokuka <[email protected]>
1 parent d923be3 commit 7be0a29

File tree

7 files changed

+1151
-22
lines changed

7 files changed

+1151
-22
lines changed

rsocket-core/src/main/java/io/rsocket/buffer/AbstractTupleByteBuf.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ public int writeCharSequence(CharSequence sequence, Charset charset) {
550550

551551
@Override
552552
public ByteBuffer internalNioBuffer(int index, int length) {
553-
throw new UnsupportedOperationException();
553+
return nioBuffer(index, length);
554554
}
555555

556556
@Override

rsocket-core/src/main/java/io/rsocket/buffer/Tuple2ByteBuf.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,12 @@ public ByteBuffer[] _nioBuffers(int index, int length) {
134134

135135
@Override
136136
public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
137+
checkDstIndex(index, length, dstIndex, dst.capacity());
138+
if (length == 0) {
139+
return this;
140+
}
141+
142+
// FIXME: check twice here
137143
long ri = calculateRelativeIndex(index);
138144
index = (int) (ri & Integer.MAX_VALUE);
139145
switch ((int) ((ri & MASK) >>> 32L)) {
@@ -165,20 +171,22 @@ public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
165171
@Override
166172
public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
167173
ByteBuf dstBuf = Unpooled.wrappedBuffer(dst);
168-
int min = Math.min(dst.length, capacity);
169-
return getBytes(0, dstBuf, index, min);
174+
return getBytes(index, dstBuf, dstIndex, length);
170175
}
171176

172177
@Override
173178
public ByteBuf getBytes(int index, ByteBuffer dst) {
174179
ByteBuf dstBuf = Unpooled.wrappedBuffer(dst);
175-
int min = Math.min(dst.limit(), capacity);
176-
return getBytes(0, dstBuf, index, min);
180+
return getBytes(index, dstBuf);
177181
}
178182

179183
@Override
180184
public ByteBuf getBytes(int index, final OutputStream out, int length) throws IOException {
181185
checkIndex(index, length);
186+
if (length == 0) {
187+
return this;
188+
}
189+
182190
long ri = calculateRelativeIndex(index);
183191
index = (int) (ri & Integer.MAX_VALUE);
184192
switch ((int) ((ri & MASK) >>> 32L)) {
@@ -354,18 +362,12 @@ protected void deallocate() {
354362

355363
@Override
356364
public String toString(Charset charset) {
357-
StringBuilder builder = new StringBuilder(3);
365+
StringBuilder builder = new StringBuilder(capacity);
358366
builder.append(one.toString(charset));
359367
builder.append(two.toString(charset));
360368
return builder.toString();
361369
}
362370

363-
@Override
364-
public String toString(int index, int length, Charset charset) {
365-
// TODO - make this smarter
366-
return toString(charset).substring(index, length);
367-
}
368-
369371
@Override
370372
public String toString() {
371373
return "Tuple2ByteBuf{"

rsocket-core/src/main/java/io/rsocket/buffer/Tuple3ByteBuf.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -235,15 +235,13 @@ public ByteBuf getBytes(int index, ByteBuf dst, int dstIndex, int length) {
235235
@Override
236236
public ByteBuf getBytes(int index, byte[] dst, int dstIndex, int length) {
237237
ByteBuf dstBuf = Unpooled.wrappedBuffer(dst);
238-
int min = Math.min(dst.length, capacity);
239-
return getBytes(0, dstBuf, index, min);
238+
return getBytes(index, dstBuf, dstIndex, length);
240239
}
241240

242241
@Override
243242
public ByteBuf getBytes(int index, ByteBuffer dst) {
244243
ByteBuf dstBuf = Unpooled.wrappedBuffer(dst);
245-
int min = Math.min(dst.limit(), capacity);
246-
return getBytes(0, dstBuf, index, min);
244+
return getBytes(index, dstBuf);
247245
}
248246

249247
@Override
@@ -539,12 +537,6 @@ public String toString(Charset charset) {
539537
return builder.toString();
540538
}
541539

542-
@Override
543-
public String toString(int index, int length, Charset charset) {
544-
// TODO - make this smarter
545-
return toString(charset).substring(index, length);
546-
}
547-
548540
@Override
549541
public String toString() {
550542
return "Tuple3ByteBuf{"

0 commit comments

Comments
 (0)