Update for eventcore 0.5.0 and the latest DMD beta.
This commit is contained in:
parent
d7243dcd39
commit
c08f101549
8 changed files with 32 additions and 210 deletions
|
@ -332,12 +332,16 @@ struct FixedRingBuffer(T, size_t N = 0, bool INITIALIZE = true) {
|
|||
auto dst = newbuffer;
|
||||
auto newfill = min(m_fill, new_size);
|
||||
read(dst[0 .. newfill]);
|
||||
if (m_freeOnDestruct && m_buffer.length > 0) delete m_buffer;
|
||||
if (m_freeOnDestruct && m_buffer.length > 0) () @trusted {
|
||||
delete m_buffer;
|
||||
} ();
|
||||
m_buffer = newbuffer;
|
||||
m_start = 0;
|
||||
m_fill = newfill;
|
||||
} else {
|
||||
if (m_freeOnDestruct && m_buffer.length > 0) delete m_buffer;
|
||||
if (m_freeOnDestruct && m_buffer.length > 0) () @trusted {
|
||||
delete m_buffer;
|
||||
} ();
|
||||
m_buffer = new T[new_size];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,11 +51,11 @@ void asyncAwaitAny(bool interruptible, string func = __FUNCTION__, Waitables...)
|
|||
import eventcore.core;
|
||||
|
||||
auto tm = eventDriver.timers.create();
|
||||
eventDriver.timers.set(tm, timeout);
|
||||
eventDriver.timers.set(tm, timeout, 0.seconds);
|
||||
scope (exit) eventDriver.timers.releaseRef(tm);
|
||||
Waitable!(
|
||||
cb => eventDriver.timers.wait(tm, cb),
|
||||
cb => eventDriver.timers.cancelWait(tm, cb),
|
||||
cb => eventDriver.timers.cancelWait(tm),
|
||||
TimerID
|
||||
) timerwaitable;
|
||||
asyncAwaitAny!(interruptible, func)(timerwaitable, waitables);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue