Expirable

trait Expirable[A]

Object, which can be expired (usually - reader or writer in SelectGroup) Usage protocol is next: capture if A inside is used, call markUsed and use A if A inside is unused for some reason -- call markFree

Object, which can be expired (usually - reader or writer in SelectGroup) Usage protocol is next: capture if A inside is used, call markUsed and use A if A inside is unused for some reason -- call markFree

class Object
trait Matchable
class Any

Value members

Abstract methods

def canExpire: Boolean

called when reader/writer can become no more available for some reason

called when reader/writer can become no more available for some reason

def capture(): Option[A]

capture object, and after this we can or use one (markUsed will be called) or abandon (markFree)

capture object, and after this we can or use one (markUsed will be called) or abandon (markFree)

def isExpired: Boolean

if this object is expired and should be deleted from queue (for example: when reader is belong to select group and some other action in this select group was performed)

if this object is expired and should be deleted from queue (for example: when reader is belong to select group and some other action in this select group was performed)

def markFree(): Unit

Called when it was a race condition and we can't use captured function.

Called when it was a race condition and we can't use captured function.

def markUsed(): Unit

Called when we submitt to task executor readFunction and now is safe to make exprire all other readers/writers in the same select group

Called when we submitt to task executor readFunction and now is safe to make exprire all other readers/writers in the same select group