PrependedStream class
A wrapper around P2PStream that prepends buffered data to the stream.
This is critical for circuit relay to prevent data loss when handshake messages and application data arrive together. The buffered reader may consume both, and this wrapper ensures the application data is still accessible to the RelayedConn.
Constructors
- PrependedStream(P2PStream _underlying, Uint8List _prependedData)
Properties
- conn → Conn
-
Returns the connection this stream is part of
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
-
incoming
→ P2PStream<
Uint8List> -
Returns a Dart Stream of the incoming data
no setteroverride
- isClosed → bool
-
Returns true if the stream is closed
no setteroverride
- isWritable → bool
-
Returns true if the stream is ready for writing
More precise than !isClosed as it excludes closing state
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → Future< void> -
Closes the stream for both reading and writing
override
-
closeRead(
) → Future< void> -
Closes the stream for reading but leaves it open for writing
override
-
closeWrite(
) → Future< void> -
Closes the stream for writing but leaves it open for reading
override
-
id(
) → String -
Returns an identifier that uniquely identifies this Stream within this
host, during this run. Stream IDs may repeat across restarts.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
protocol(
) → String -
Returns the protocol ID associated with this stream
override
-
read(
[int? maxLength]) → Future< Uint8List> -
Reads data from the stream
override
-
reset(
) → Future< void> -
Closes both ends of the stream
override
-
scope(
) → StreamManagementScope -
Returns the management view of this stream's resource scope
override
-
setDeadline(
DateTime? deadline) → Future< void> -
Sets a deadline for both reading and writing operations
override
-
setProtocol(
String protocol) → Future< void> -
Sets the protocol for this stream
override
-
setReadDeadline(
DateTime deadline) → Future< void> -
Sets a deadline for reading operations
override
-
setWriteDeadline(
DateTime deadline) → Future< void> -
Sets a deadline for writing operations
override
-
stat(
) → StreamStats -
Returns metadata pertaining to this stream
override
-
toString(
) → String -
A string representation of this object.
inherited
-
write(
Uint8List data) → Future< void> -
Writes data to the stream
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited