Modifier and Type | Method and Description |
---|---|
default CompositeBuffer |
addBuffer(Buffer buffer)
Add the given
Buffer to this buffer and increment the writerIndex. |
CompositeBuffer |
addBuffer(Buffer buffer,
boolean incrementWriterIndex)
Add the given
Buffer to this buffer. |
CompositeBuffer |
capacity(int newCapacity)
Sets the capacity of this buffer.
|
CompositeBuffer |
clear()
Sets the
readerIndex and writerIndex of this buffer to
0 . |
CompositeBuffer |
consolidate()
Consolidate the composed
Buffer s. |
CompositeBuffer |
consolidate(int index,
int count)
Consolidate the composed
Buffer s. |
CompositeBuffer |
discardSomeReadBytes()
Discard all
Buffer s which have been read. |
CompositeBuffer |
getBytes(int index,
Buffer dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination becomes
non-writable. |
CompositeBuffer |
getBytes(int index,
Buffer dst,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
CompositeBuffer |
getBytes(int index,
Buffer dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
CompositeBuffer |
getBytes(int index,
byte[] dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
CompositeBuffer |
getBytes(int index,
byte[] dst,
int dstIndex,
int length)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index . |
CompositeBuffer |
getBytes(int index,
java.nio.ByteBuffer dst)
Transfers this buffer's data to the specified destination starting at
the specified absolute
index until the destination's position
reaches its limit. |
CompositeBuffer |
readerIndex(int readerIndex)
Sets the
readerIndex of this buffer. |
CompositeBuffer |
setBoolean(int index,
boolean value)
Sets the specified boolean at the specified absolute
index in this
buffer. |
CompositeBuffer |
setByte(int index,
int value)
Sets the specified byte at the specified absolute
index in this
buffer. |
CompositeBuffer |
setBytes(int index,
Buffer src)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer becomes
unreadable. |
CompositeBuffer |
setBytes(int index,
Buffer src,
int length)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index . |
CompositeBuffer |
setBytes(int index,
Buffer src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index . |
CompositeBuffer |
setBytes(int index,
byte[] src)
Transfers the specified source array's data to this buffer starting at
the specified absolute
index . |
CompositeBuffer |
setBytes(int index,
byte[] src,
int srcIndex,
int length)
Transfers the specified source array's data to this buffer starting at
the specified absolute
index . |
CompositeBuffer |
setBytes(int index,
java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the specified absolute
index until the source buffer's position
reaches its limit. |
CompositeBuffer |
setChar(int index,
int value)
Sets the specified 2-byte UTF-16 character at the specified absolute
index in this buffer. |
CompositeBuffer |
setDouble(int index,
double value)
Sets the specified 64-bit floating-point number at the specified
absolute
index in this buffer. |
CompositeBuffer |
setFloat(int index,
float value)
Sets the specified 32-bit floating-point number at the specified
absolute
index in this buffer. |
CompositeBuffer |
setInt(int index,
int value)
Sets the specified 32-bit integer at the specified absolute
index in this buffer. |
CompositeBuffer |
setIntLE(int index,
int value)
Sets the specified 32-bit integer at the specified absolute
index in this buffer with Little Endian byte order
. |
CompositeBuffer |
setLong(int index,
long value)
Sets the specified 64-bit long integer at the specified absolute
index in this buffer. |
CompositeBuffer |
setLongLE(int index,
long value)
Sets the specified 64-bit long integer at the specified absolute
index in this buffer in Little Endian Byte Order. |
CompositeBuffer |
setMedium(int index,
int value)
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer. |
CompositeBuffer |
setMediumLE(int index,
int value)
Sets the specified 24-bit medium integer at the specified absolute
index in this buffer in the Little Endian Byte Order. |
CompositeBuffer |
setShort(int index,
int value)
Sets the specified 16-bit short integer at the specified absolute
index in this buffer. |
CompositeBuffer |
setShortLE(int index,
int value)
Sets the specified 16-bit short integer at the specified absolute
index in this buffer with the Little Endian Byte Order. |
CompositeBuffer |
skipBytes(int length)
Increases the current
readerIndex by the specified
length in this buffer. |
CompositeBuffer |
writeAscii(java.lang.CharSequence seq)
Encode a
CharSequence in ASCII and write it
to this buffer starting at writerIndex and increases the writerIndex by the
number of the transferred bytes. |
CompositeBuffer |
writeBoolean(boolean value)
Sets the specified boolean at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
CompositeBuffer |
writeByte(int value)
Sets the specified byte at the current
writerIndex
and increases the writerIndex by 1 in this buffer. |
CompositeBuffer |
writeBytes(Buffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer becomes
unreadable, and increases the writerIndex by the number of
the transferred bytes. |
CompositeBuffer |
writeBytes(Buffer src,
int length)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
CompositeBuffer |
writeBytes(Buffer src,
int srcIndex,
int length)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
CompositeBuffer |
writeBytes(byte[] src)
Transfers the specified source array's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= src.length ). |
CompositeBuffer |
writeBytes(byte[] src,
int srcIndex,
int length)
Transfers the specified source array's data to this buffer starting at
the current
writerIndex and increases the writerIndex
by the number of the transferred bytes (= length ). |
CompositeBuffer |
writeBytes(java.nio.ByteBuffer src)
Transfers the specified source buffer's data to this buffer starting at
the current
writerIndex until the source buffer's position
reaches its limit, and increases the writerIndex by the
number of the transferred bytes. |
CompositeBuffer |
writeChar(int value)
Sets the specified 2-byte UTF-16 character at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
CompositeBuffer |
writeDouble(double value)
Sets the specified 64-bit floating point number at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
CompositeBuffer |
writeFloat(float value)
Sets the specified 32-bit floating point number at the current
writerIndex and increases the writerIndex by 4
in this buffer. |
CompositeBuffer |
writeInt(int value)
Sets the specified 32-bit integer at the current
writerIndex
and increases the writerIndex by 4 in this buffer. |
CompositeBuffer |
writeIntLE(int value)
Sets the specified 32-bit integer at the current
writerIndex
in the Little Endian Byte Order and increases the writerIndex
by 4 in this buffer. |
CompositeBuffer |
writeLong(long value)
Sets the specified 64-bit long integer at the current
writerIndex and increases the writerIndex by 8
in this buffer. |
CompositeBuffer |
writeLongLE(long value)
Sets the specified 64-bit long integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 8
in this buffer. |
CompositeBuffer |
writeMedium(int value)
Sets the specified 24-bit medium integer at the current
writerIndex and increases the writerIndex by 3
in this buffer. |
CompositeBuffer |
writeMediumLE(int value)
Sets the specified 24-bit medium integer at the current
writerIndex in the Little Endian Byte Order and
increases the writerIndex by 3 in this
buffer. |
CompositeBuffer |
writerIndex(int writerIndex)
Sets the
writerIndex of this buffer. |
CompositeBuffer |
writeShort(int value)
Sets the specified 16-bit short integer at the current
writerIndex and increases the writerIndex by 2
in this buffer. |
CompositeBuffer |
writeShortLE(int value)
Sets the specified 16-bit short integer in the Little Endian Byte
Order at the current
writerIndex and increases the
writerIndex by 2 in this buffer. |
CompositeBuffer |
writeUtf8(java.lang.CharSequence seq)
Encode a
CharSequence in UTF-8 and write it
to this buffer starting at writerIndex and increases the writerIndex by the
number of the transferred bytes. |
array, arrayOffset, asInputStream, asOutputStream, asReadOnly, bytesBefore, bytesBefore, bytesBefore, capacity, copy, copy, duplicate, ensureWritable, ensureWritable, equals, forEachByte, forEachByte, forEachByteDesc, forEachByteDesc, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getIntLE, getLong, getLongLE, getMedium, getMediumLE, getShort, getShortLE, getUnsignedByte, getUnsignedInt, getUnsignedIntLE, getUnsignedMedium, getUnsignedMediumLE, getUnsignedShort, getUnsignedShortLE, hasArray, hashCode, indexOf, isDirect, isReadOnly, maxCapacity, maxWritableBytes, nioBufferCount, readableBytes, readBoolean, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readChar, readDouble, readerIndex, readFloat, readInt, readIntLE, readLong, readLongLE, readMedium, readMediumLE, readShort, readShortLE, readSlice, readUnsignedByte, readUnsignedInt, readUnsignedIntLE, readUnsignedMedium, readUnsignedMediumLE, readUnsignedShort, readUnsignedShortLE, setBytes, setBytesUntilEndStream, slice, slice, toNioBuffer, toNioBuffer, toNioBuffers, toNioBuffers, toString, toString, toString, tryEnsureWritable, writableBytes, writeBytes, writeBytesUntilEndStream, writerIndex, writeUtf8
default CompositeBuffer addBuffer(Buffer buffer)
Buffer
to this buffer and increment the writerIndex.buffer
- the buffer to add.CompositeBuffer addBuffer(Buffer buffer, boolean incrementWriterIndex)
Buffer
to this buffer.buffer
- the buffer to add.incrementWriterIndex
- if true
the writerIndex will be increment by the number of readableBytes of
the given buffer.CompositeBuffer consolidate()
Buffer
s.CompositeBuffer consolidate(int index, int count)
Buffer
s.index
- the index on which to start to compose.count
- the number of contained buffers to compose.CompositeBuffer discardSomeReadBytes()
Buffer
s which have been read.CompositeBuffer capacity(int newCapacity)
Buffer
newCapacity
is less than the current
capacity, the content of this buffer is truncated. If the newCapacity
is greater
than the current capacity, the buffer is appended with unspecified data whose length is
(newCapacity - currentCapacity)
.CompositeBuffer readerIndex(int readerIndex)
Buffer
readerIndex
of this buffer.readerIndex
in interface Buffer
readerIndex
- the new readerIndex of this buffer.CompositeBuffer writerIndex(int writerIndex)
Buffer
writerIndex
of this buffer.writerIndex
in interface Buffer
writerIndex
- the new writerIndex of this buffer.CompositeBuffer clear()
Buffer
readerIndex
and writerIndex
of this buffer to
0
.
Please note that the behavior of this method is different
from that of NIO buffer, which sets the limit
to
the capacity
of the buffer.
CompositeBuffer getBytes(int index, Buffer dst)
Buffer
index
until the destination becomes
non-writable. This method is basically same with
Buffer.getBytes(int, Buffer, int, int)
, except that this
method increases the writerIndex
of the destination by the
number of the transferred bytes while
Buffer.getBytes(int, Buffer, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).CompositeBuffer getBytes(int index, Buffer dst, int length)
Buffer
index
. This method is basically same
with Buffer.getBytes(int, Buffer, int, int)
, except that this
method increases the writerIndex
of the destination by the
number of the transferred bytes while
Buffer.getBytes(int, Buffer, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).CompositeBuffer getBytes(int index, Buffer dst, int dstIndex, int length)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.CompositeBuffer getBytes(int index, byte[] dst)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of
this bufferCompositeBuffer getBytes(int index, byte[] dst, int dstIndex, int length)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of this buffer.CompositeBuffer getBytes(int index, java.nio.ByteBuffer dst)
Buffer
index
until the destination's position
reaches its limit.
This method does not modify readerIndex
or writerIndex
of
this buffer while the destination's position
will be increased.CompositeBuffer setBoolean(int index, boolean value)
Buffer
index
in this
buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.setBoolean
in interface Buffer
index
- absolute (@code index) in this buffer.value
- the value.CompositeBuffer setByte(int index, int value)
Buffer
index
in this
buffer. The 24 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setShort(int index, int value)
Buffer
index
in this buffer. The 16 high-order bits of the specified
value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setShortLE(int index, int value)
Buffer
index
in this buffer with the Little Endian Byte Order.
The 16 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.setShortLE
in interface Buffer
index
- absolute (@code index) in this buffer.value
- the value.CompositeBuffer setMedium(int index, int value)
Buffer
index
in this buffer. Please note that the most significant
byte is ignored in the specified value.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setMediumLE(int index, int value)
Buffer
index
in this buffer in the Little Endian Byte Order.
Please note that the most significant byte is ignored in the
specified value.
This method does not modify readerIndex
or writerIndex
of
this buffer.setMediumLE
in interface Buffer
index
- absolute (@code index) in this buffer.value
- the value.CompositeBuffer setInt(int index, int value)
Buffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setIntLE(int index, int value)
Buffer
index
in this buffer with Little Endian byte order
.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setLong(int index, long value)
Buffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setLongLE(int index, long value)
Buffer
index
in this buffer in Little Endian Byte Order.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setChar(int index, int value)
Buffer
index
in this buffer.
The 16 high-order bits of the specified value are ignored.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setFloat(int index, float value)
Buffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setDouble(int index, double value)
Buffer
index
in this buffer.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setBytes(int index, Buffer src)
Buffer
index
until the source buffer becomes
unreadable. This method is basically same with
Buffer.setBytes(int, Buffer, int, int)
, except that this
method increases the readerIndex
of the source buffer by
the number of the transferred bytes while
Buffer.setBytes(int, Buffer, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).CompositeBuffer setBytes(int index, Buffer src, int length)
Buffer
index
. This method is basically same
with Buffer.setBytes(int, Buffer, int, int)
, except that this
method increases the readerIndex
of the source buffer by
the number of the transferred bytes while
Buffer.setBytes(int, Buffer, int, int)
does not.
This method does not modify readerIndex
or writerIndex
of
the source buffer (i.e. this
).CompositeBuffer setBytes(int index, Buffer src, int srcIndex, int length)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of both the source (i.e. this
) and the destination.CompositeBuffer setBytes(int index, byte[] src)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setBytes(int index, byte[] src, int srcIndex, int length)
Buffer
index
.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer setBytes(int index, java.nio.ByteBuffer src)
Buffer
index
until the source buffer's position
reaches its limit.
This method does not modify readerIndex
or writerIndex
of
this buffer.CompositeBuffer skipBytes(int length)
Buffer
readerIndex
by the specified
length
in this buffer.CompositeBuffer writeBoolean(boolean value)
Buffer
writerIndex
and increases the writerIndex
by 1
in this buffer.
If this.writableBytes
is less than 1
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBoolean
in interface Buffer
value
- the value to write.CompositeBuffer writeByte(int value)
Buffer
writerIndex
and increases the writerIndex
by 1
in this buffer.
The 24 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 1
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.CompositeBuffer writeShort(int value)
Buffer
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeShort
in interface Buffer
value
- the value to write.CompositeBuffer writeShortLE(int value)
Buffer
writerIndex
and increases the
writerIndex
by 2
in this buffer.
The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeShortLE
in interface Buffer
value
- the value to write.CompositeBuffer writeMedium(int value)
Buffer
writerIndex
and increases the writerIndex
by 3
in this buffer.
If this.writableBytes
is less than 3
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeMedium
in interface Buffer
value
- the value to write.CompositeBuffer writeMediumLE(int value)
Buffer
writerIndex
in the Little Endian Byte Order and
increases the writerIndex
by 3
in this
buffer.
If this.writableBytes
is less than 3
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeMediumLE
in interface Buffer
value
- the value to write.CompositeBuffer writeInt(int value)
Buffer
writerIndex
and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.CompositeBuffer writeIntLE(int value)
Buffer
writerIndex
in the Little Endian Byte Order and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeIntLE
in interface Buffer
value
- the value to write.CompositeBuffer writeLong(long value)
Buffer
writerIndex
and increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.CompositeBuffer writeLongLE(long value)
Buffer
writerIndex
in the Little Endian Byte Order and
increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeLongLE
in interface Buffer
value
- the value to write.CompositeBuffer writeChar(int value)
Buffer
writerIndex
and increases the writerIndex
by 2
in this buffer. The 16 high-order bits of the specified value are ignored.
If this.writableBytes
is less than 2
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.CompositeBuffer writeFloat(float value)
Buffer
writerIndex
and increases the writerIndex
by 4
in this buffer.
If this.writableBytes
is less than 4
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeFloat
in interface Buffer
value
- the value to write.CompositeBuffer writeDouble(double value)
Buffer
writerIndex
and increases the writerIndex
by 8
in this buffer.
If this.writableBytes
is less than 8
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeDouble
in interface Buffer
value
- the value to write.CompositeBuffer writeBytes(Buffer src)
Buffer
writerIndex
until the source buffer becomes
unreadable, and increases the writerIndex
by the number of
the transferred bytes. This method is basically same with
Buffer.writeBytes(Buffer, int, int)
, except that this method
increases the readerIndex
of the source buffer by the number of
the transferred bytes while Buffer.writeBytes(Buffer, int, int)
does not.
If this.writableBytes
is less than src.readableBytes
,
Buffer.ensureWritable(int)
will be called in an attempt to expand
capacity to accommodate.writeBytes
in interface Buffer
src
- the buffer to write.CompositeBuffer writeBytes(Buffer src, int length)
Buffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
). This method
is basically same with Buffer.writeBytes(Buffer, int, int)
,
except that this method increases the readerIndex
of the source
buffer by the number of the transferred bytes (= length
) while
Buffer.writeBytes(Buffer, int, int)
does not.
If this.writableBytes
is less than length
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
in interface Buffer
src
- the buffer to write.length
- the number of bytes to transferCompositeBuffer writeBytes(Buffer src, int srcIndex, int length)
Buffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).
If this.writableBytes
is less than length
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
in interface Buffer
src
- the buffer to write.srcIndex
- the first index of the sourcelength
- the number of bytes to transferCompositeBuffer writeBytes(byte[] src)
Buffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= src.length
).
If this.writableBytes
is less than src.length
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
in interface Buffer
src
- the array to write.CompositeBuffer writeBytes(byte[] src, int srcIndex, int length)
Buffer
writerIndex
and increases the writerIndex
by the number of the transferred bytes (= length
).
If this.writableBytes
is less than length
, Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeBytes
in interface Buffer
src
- the array to write.srcIndex
- the first index of the sourcelength
- the number of bytes to transferCompositeBuffer writeBytes(java.nio.ByteBuffer src)
Buffer
writerIndex
until the source buffer's position
reaches its limit, and increases the writerIndex
by the
number of the transferred bytes.
If this.writableBytes
is less than src.remaining()
,
Buffer.ensureWritable(int)
will be called in an attempt to expand
capacity to accommodate.writeBytes
in interface Buffer
src
- the source buffer to write.CompositeBuffer writeAscii(java.lang.CharSequence seq)
Buffer
CharSequence
in ASCII and write it
to this buffer starting at writerIndex
and increases the writerIndex
by the
number of the transferred bytes.
If this.writableBytes
is not large enough to write the whole sequence,
Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.writeAscii
in interface Buffer
seq
- the source of the data.CompositeBuffer writeUtf8(java.lang.CharSequence seq)
Buffer
CharSequence
in UTF-8 and write it
to this buffer starting at writerIndex
and increases the writerIndex
by the
number of the transferred bytes.
If this.writableBytes
is not large enough to write the whole sequence,
Buffer.ensureWritable(int)
will be called in an attempt to expand capacity to accommodate.