class BufferReceiveState extends AutoCloseable with Logging
A helper case class to maintain the state associated with a transfer request to a peer.
On getBufferWhenReady(finalizeCb, size), a bounce buffer is either made
immediately available to finalizeCb or it will be made available later, via toFinalize.
By convention, the id is used as the header for receives for this BufferReceiveState
consumeWindow is called when data has arrived at the bounce buffer, copying
onto the ranges the bytes received.
It also is AutoCloseable. close() should be called to free bounce buffers.
- Alphabetic
- By Inheritance
- BufferReceiveState
- Logging
- AutoCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
BufferReceiveState(id: Long, bounceBuffer: BounceBuffer, requests: Seq[PendingTransferRequest], transportOnClose: () ⇒ Unit, stream: Stream = Cuda.DEFAULT_STREAM)
- id
- a numeric id that is used in all headers for this
BufferReceiveState- bounceBuffer
- bounce buffer to use (device memory strictly)
- requests
- collection of
PendingTransferRequestas issued by iterators currently requesting- transportOnClose
- a callback invoked when the
BufferReceiveStatecloses- stream
- CUDA stream to use for allocations and copies
Type Members
- class ReceiveBlock extends BlockWithSize
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
close(): Unit
- Definition Classes
- BufferReceiveState → AutoCloseable
-
def
consumeWindow(): Seq[ConsumedBatchFromBounceBuffer]
When a receive is complete, the client calls
consumeWindowto copy out of the bounce buffer in thisBufferReceiveStateany complete batches, or to buffer up a remaining batch inworkingOnWhen a receive is complete, the client calls
consumeWindowto copy out of the bounce buffer in thisBufferReceiveStateany complete batches, or to buffer up a remaining batch inworkingOn- returns
- a sequence of batches that were successfully consumed, or an empty sequence if still working on a batch.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
errorOccurred(errMsg: String, throwable: Throwable = null): Unit
Calls
transferErroron eachRapidsShuffleFetchHandlerCalls
transferErroron eachRapidsShuffleFetchHandler- errMsg
- the message to pass onto the handlers
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def getBufferWhenReady(finalizeCb: (TransportBuffer) ⇒ Unit, size: Long): Unit
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getRequests: Seq[PendingTransferRequest]
- def hasMoreBlocks: Boolean
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val id: Long
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- var toConsume: Int
- var toFinalize: ArrayDeque[(TransportBuffer) ⇒ Unit]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- val transportBuffer: CudfTransportBuffer
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()