Skip to content

Commit fdb2b6b

Browse files
committed
Remove reference version of waitFor
1 parent 486824c commit fdb2b6b

13 files changed

Lines changed: 23 additions & 88 deletions

Disruptor/BlockingWaitStrategy.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,22 @@ namespace Disruptor
1515
const std::shared_ptr< ISequence >& dependentSequence,
1616
const std::shared_ptr< ISequenceBarrier >& barrier)
1717
{
18-
return waitFor(sequence, *cursor, *dependentSequence, *barrier);
19-
}
20-
21-
std::int64_t BlockingWaitStrategy::waitFor(std::int64_t sequence, Sequence& cursor, ISequence& dependentSequence, ISequenceBarrier& barrier)
22-
{
23-
if (cursor.value() < sequence)
18+
if (cursor->value() < sequence)
2419
{
2520
boost::unique_lock< decltype(m_gate) > uniqueLock(m_gate);
2621

27-
while (cursor.value() < sequence)
22+
while (cursor->value() < sequence)
2823
{
29-
barrier.checkAlert();
24+
barrier->checkAlert();
3025

3126
m_conditionVariable.wait(uniqueLock);
3227
}
3328
}
3429

3530
std::int64_t availableSequence;
36-
while ((availableSequence = dependentSequence.value()) < sequence)
31+
while ((availableSequence = dependentSequence->value()) < sequence)
3732
{
38-
barrier.checkAlert();
33+
barrier->checkAlert();
3934
}
4035

4136
return availableSequence;

Disruptor/BlockingWaitStrategy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@ namespace Disruptor
2424
const std::shared_ptr< ISequence >& dependentSequence,
2525
const std::shared_ptr< ISequenceBarrier >& barrier) override;
2626

27-
std::int64_t waitFor(std::int64_t sequence,
28-
Sequence& cursor,
29-
ISequence& dependentSequence,
30-
ISequenceBarrier& barrier) override;
31-
3227
/// <summary>
3328
/// <see cref="IWaitStrategy.SignalAllWhenBlocking"/>
3429
/// </summary>

Disruptor/BusySpinWaitStrategy.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,15 @@ namespace Disruptor
1111
{
1212

1313
std::int64_t BusySpinWaitStrategy::waitFor(std::int64_t sequence,
14-
const std::shared_ptr< Sequence >& cursor,
14+
const std::shared_ptr< Sequence >& /*cursor*/,
1515
const std::shared_ptr< ISequence >& dependentSequence,
1616
const std::shared_ptr< ISequenceBarrier >& barrier)
17-
{
18-
return waitFor(sequence, *cursor, *dependentSequence, *barrier);
19-
}
20-
21-
std::int64_t BusySpinWaitStrategy::waitFor(std::int64_t sequence, Sequence& /*cursor*/, ISequence& dependentSequence, ISequenceBarrier& barrier)
2217
{
2318
std::int64_t availableSequence;
2419

25-
while ((availableSequence = dependentSequence.value()) < sequence)
20+
while ((availableSequence = dependentSequence->value()) < sequence)
2621
{
27-
barrier.checkAlert();
22+
barrier->checkAlert();
2823
}
2924

3025
return availableSequence;

Disruptor/BusySpinWaitStrategy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ namespace Disruptor
2525
const std::shared_ptr< ISequence >& dependentSequence,
2626
const std::shared_ptr< ISequenceBarrier >& barrier) override;
2727

28-
std::int64_t waitFor(std::int64_t sequence,
29-
Sequence& cursor,
30-
ISequence& dependentSequence,
31-
ISequenceBarrier& barrier) override;
32-
3328
/// <summary>
3429
/// <see cref="IWaitStrategy.SignalAllWhenBlocking"/>
3530
/// </summary>

Disruptor/IWaitStrategy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ namespace Disruptor
3535
const std::shared_ptr< ISequence >& dependentSequence,
3636
const std::shared_ptr< ISequenceBarrier >& barrier) = 0;
3737

38-
virtual std::int64_t waitFor(std::int64_t /*sequence*/,
39-
Sequence& /*cursor*/,
40-
ISequence& /*dependentSequence*/,
41-
ISequenceBarrier& /*barrier*/) { throw std::exception(); }
42-
4338
/// <summary>
4439
/// Signal those <see cref="IEventProcessor"/> waiting that the cursor has advanced.
4540
/// </summary>

Disruptor/SleepingWaitStrategy.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,16 @@ namespace Disruptor
1616
}
1717

1818
std::int64_t SleepingWaitStrategy::waitFor(std::int64_t sequence,
19-
const std::shared_ptr< Sequence >& cursor,
19+
const std::shared_ptr< Sequence >& /*cursor*/,
2020
const std::shared_ptr< ISequence >& dependentSequence,
2121
const std::shared_ptr< ISequenceBarrier >& barrier)
22-
{
23-
return waitFor(sequence, *cursor, *dependentSequence, *barrier);
24-
}
25-
26-
std::int64_t SleepingWaitStrategy::waitFor(std::int64_t sequence, Sequence& /*cursor*/, ISequence& dependentSequence, ISequenceBarrier& barrier)
2722
{
2823
std::int64_t availableSequence;
2924
auto counter = m_retries;
3025

31-
while ((availableSequence = dependentSequence.value()) < sequence)
26+
while ((availableSequence = dependentSequence->value()) < sequence)
3227
{
33-
counter = applyWaitMethod(barrier, counter);
28+
counter = applyWaitMethod(*barrier, counter);
3429
}
3530

3631
return availableSequence;

Disruptor/SleepingWaitStrategy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ namespace Disruptor
3131
const std::shared_ptr< ISequence >& dependentSequence,
3232
const std::shared_ptr< ISequenceBarrier >& barrier) override;
3333

34-
std::int64_t waitFor(std::int64_t sequence,
35-
Sequence& cursor,
36-
ISequence& dependentSequence,
37-
ISequenceBarrier& barrier) override;
38-
3934
/// <summary>
4035
/// <see cref="IWaitStrategy.SignalAllWhenBlocking"/>
4136
/// </summary>

Disruptor/SpinWaitWaitStrategy.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,16 @@ namespace Disruptor
1212
{
1313

1414
std::int64_t SpinWaitWaitStrategy::waitFor(std::int64_t sequence,
15-
const std::shared_ptr< Sequence >& cursor,
15+
const std::shared_ptr< Sequence >& /*cursor*/,
1616
const std::shared_ptr< ISequence >& dependentSequence,
1717
const std::shared_ptr< ISequenceBarrier >& barrier)
18-
{
19-
return waitFor(sequence, *cursor, *dependentSequence, *barrier);
20-
}
21-
22-
std::int64_t SpinWaitWaitStrategy::waitFor(std::int64_t sequence, Sequence& /*cursor*/, ISequence& dependentSequence, ISequenceBarrier& barrier)
2318
{
2419
std::int64_t availableSequence;
2520

2621
SpinWait spinWait;
27-
while ((availableSequence = dependentSequence.value()) < sequence)
22+
while ((availableSequence = dependentSequence->value()) < sequence)
2823
{
29-
barrier.checkAlert();
24+
barrier->checkAlert();
3025
spinWait.spinOnce();
3126
}
3227

Disruptor/SpinWaitWaitStrategy.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,6 @@ namespace Disruptor
2626
const std::shared_ptr< ISequence >& dependentSequence,
2727
const std::shared_ptr< ISequenceBarrier >& barrier) override;
2828

29-
std::int64_t waitFor(std::int64_t sequence,
30-
Sequence& cursor,
31-
ISequence& dependentSequence,
32-
ISequenceBarrier& barrier) override;
33-
3429
/// <summary>
3530
/// <see cref="IWaitStrategy.SignalAllWhenBlocking"/>
3631
/// </summary>

Disruptor/TimeoutBlockingWaitStrategy.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,30 @@ namespace Disruptor
1818
{
1919
}
2020

21-
std::int64_t TimeoutBlockingWaitStrategy::waitFor(std::int64_t sequence,
21+
std::int64_t TimeoutBlockingWaitStrategy::waitFor(std::int64_t sequence,
2222
const std::shared_ptr< Sequence >& cursor,
2323
const std::shared_ptr< ISequence >& dependentSequence,
2424
const std::shared_ptr< ISequenceBarrier >& barrier)
25-
{
26-
return waitFor(sequence, *cursor, *dependentSequence, *barrier);
27-
}
28-
29-
std::int64_t TimeoutBlockingWaitStrategy::waitFor(std::int64_t sequence, Sequence& cursor, ISequence& dependentSequence, ISequenceBarrier& barrier)
3025
{
3126
auto timeSpan = boost::chrono::microseconds(std::chrono::duration_cast< std::chrono::microseconds >(m_timeout).count());
3227

33-
if (cursor.value() < sequence)
28+
if (cursor->value() < sequence)
3429
{
3530
boost::unique_lock< decltype(m_gate) > uniqueLock(m_gate);
3631

37-
while (cursor.value() < sequence)
32+
while (cursor->value() < sequence)
3833
{
39-
barrier.checkAlert();
34+
barrier->checkAlert();
4035

4136
if (m_conditionVariable.wait_for(uniqueLock, timeSpan) == boost::cv_status::timeout)
4237
DISRUPTOR_THROW_TIMEOUT_EXCEPTION();
4338
}
4439
}
4540

4641
std::int64_t availableSequence;
47-
while ((availableSequence = dependentSequence.value()) < sequence)
42+
while ((availableSequence = dependentSequence->value()) < sequence)
4843
{
49-
barrier.checkAlert();
44+
barrier->checkAlert();
5045
}
5146

5247
return availableSequence;

0 commit comments

Comments
 (0)