Package io.aether.utils.streams
Class ValueOfRequest<T>
- java.lang.Object
-
- io.aether.utils.streams.ValueOfRequest<T>
-
-
Field Summary
-
Fields inherited from interface io.aether.utils.streams.Value
BLOCK_COUNTER, CLOSE_INSTANCE, FORCE_INSTANCE, TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description ValueOfRequest(long id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tdata()Retrieves the data payload contained in this value.voidenter(java.lang.Object owner)Marks the beginning of value processing by a handler.longgetRequestDataId()booleanisData()Checks if this value contains processable data.booleanisOnlyRequestData()booleanisRequestData()Determines if this value represents a data request.voidreject(java.lang.Object owner, long blockId)Rejects the value sending process due to a stream being blocked.voidsuccess(java.lang.Object owner)Releases resources associated with this value when it's no longer needed.
-
-
-
Method Detail
-
data
public T data()
Description copied from interface:ValueRetrieves the data payload contained in this value. The actual data type is determined by the generic parameter T.
-
isRequestData
public boolean isRequestData()
Description copied from interface:ValueDetermines if this value represents a data request. Request values typically ask for data to be generated/sent rather than containing data themselves.- Specified by:
isRequestDatain interfaceValue<T>- Returns:
- true if this is a request value, false otherwise
-
isOnlyRequestData
public boolean isOnlyRequestData()
- Specified by:
isOnlyRequestDatain interfaceValue<T>
-
getRequestDataId
public long getRequestDataId()
- Specified by:
getRequestDataIdin interfaceValue<T>
-
success
public void success(java.lang.Object owner)
Description copied from interface:ValueReleases resources associated with this value when it's no longer needed. This is the normal end-of-life operation for a value.
-
enter
public void enter(java.lang.Object owner)
Description copied from interface:ValueMarks the beginning of value processing by a handler. Called when a processor starts working with this value.
-
reject
public void reject(java.lang.Object owner, long blockId)Description copied from interface:ValueRejects the value sending process due to a stream being blocked.- Specified by:
rejectin interfaceValue<T>- Parameters:
owner- An object that provides information about the current state of the block.When the creator of the Value object receives an reject call, it understands that the stream is currently blocked and data cannot be sent at this moment.
If, at the same time, a Value object with the isRequestData flag arrives from the stream, a race condition can occur. To resolve this issue, the checkWritable method should be called to determine the actual state of the remote node.
-
-