concurrency v5.0.0 (2022-10-19T08:12:29Z)
Dub
Repo
ThrottleStreamOp.ThrottleStreamOp
concurrency
stream
throttling
ThrottleStreamOp
Undocumented in source.
template
ThrottleStreamOp
(Stream, ThrottleEmitLogic emitLogic, ThrottleTimerLogic timerLogic)
struct
ThrottleStreamOp (
Receiver
) {
Duration
dur
;
DG
dg
;
Receiver
receiver
;
static if
(
emitLogic == ThrottleEmitLogic.last
)
static if
(
!is(Properties.ElementType == void)
)
Properties
.
ElementType
item
;
static if
(
!is(Properties.Value == void)
)
Properties
.
Value
value
;
alias
SchedulerAfterSender
=
ReturnType
!(
SchedulerType
!(
Receiver
).
scheduleAfter
)
;
alias
InnerReceiver
=
TimerReceiver
!(
typeof
(
this
),
Properties
.
ElementType
,
emitLogic
,
timerLogic
)
;
StopSource
stopSource
;
StopSource
timerStopSource
;
StopCallback
cb
;
Throwable
throwable
;
alias
Op
=
OpType
!(
Properties
.
Sender
,
SenderReceiver
!(
typeof
(
this
),
Properties
.
Value
))
;
alias
TimerOp
=
OpType
!(
SchedulerAfterSender
,
InnerReceiver
)
;
Op
op
;
TimerOp
timerOp
;
shared
SharedBitField
!
ThrottleFlags
flags
;
this
(typeof(this) rhs);
this(this)
;
this
(Stream stream, Duration dur, DG dg, Receiver receiver);
void
armTimer
();
void
rearmTimer
();
void
process
(size_t newState);
void
start
();
}
Constructors
this
this
(typeof(this) rhs)
Undocumented in source.
this
this
(Stream stream, Duration dur, DG dg, Receiver receiver)
Undocumented in source.
Postblit
this(this)
this(this)
Undocumented in source.
Members
Aliases
InnerReceiver
alias
InnerReceiver
=
TimerReceiver
!(
typeof
(
this
),
Properties
.
ElementType
,
emitLogic
,
timerLogic
)
Undocumented in source.
Op
alias
Op
=
OpType
!(
Properties
.
Sender
,
SenderReceiver
!(
typeof
(
this
),
Properties
.
Value
))
Undocumented in source.
SchedulerAfterSender
alias
SchedulerAfterSender
=
ReturnType
!(
SchedulerType
!(
Receiver
).
scheduleAfter
)
Undocumented in source.
TimerOp
alias
TimerOp
=
OpType
!(
SchedulerAfterSender
,
InnerReceiver
)
Undocumented in source.
Functions
armTimer
void
armTimer
()
Undocumented in source. Be warned that the author may not have intended to support it.
process
void
process
(size_t newState)
Undocumented in source. Be warned that the author may not have intended to support it.
rearmTimer
void
rearmTimer
()
Undocumented in source. Be warned that the author may not have intended to support it.
start
void
start
()
Undocumented in source. Be warned that the author may not have intended to support it.
Variables
cb
StopCallback
cb
;
Undocumented in source.
dg
DG
dg
;
Undocumented in source.
dur
Duration
dur
;
Undocumented in source.
flags
SharedBitField
!
ThrottleFlags
flags
;
Undocumented in source.
item
Properties
.
ElementType
item
;
Undocumented in source.
op
Op
op
;
Undocumented in source.
receiver
Receiver
receiver
;
Undocumented in source.
stopSource
StopSource
stopSource
;
Undocumented in source.
throwable
Throwable
throwable
;
Undocumented in source.
timerOp
TimerOp
timerOp
;
Undocumented in source.
timerStopSource
StopSource
timerStopSource
;
Undocumented in source.
value
Properties
.
Value
value
;
Undocumented in source.
Meta
Source
See Implementation
concurrency
stream
throttling
ThrottleStreamOp
aliases
DG
Properties
structs
ThrottleStreamOp