2 * Worldvisions Weaver Software:
3 * Copyright (C) 1997-2004 Net Integration Technologies, Inc.
6 #include "wvmagicloopback.h"
8 WvMagicLoopback::WvMagicLoopback(size_t size
)
14 void WvMagicLoopback::pre_select(SelectInfo
&si
)
20 if ((si
.wants
.readable
&& circle
.used() > 0) ||
21 (si
.wants
.writable
&& circle
.left() > 0))
26 bool WvMagicLoopback::post_select(SelectInfo
&si
)
28 bool ret
= WvStream::post_select(si
);
30 if ((si
.wants
.readable
&& circle
.used() > 0) ||
31 (si
.wants
.writable
&& circle
.left() > 0))
38 size_t WvMagicLoopback::uread(void *buf
, size_t len
)
40 return circle
.get(buf
, len
);
44 size_t WvMagicLoopback::uwrite(const void *buf
, size_t len
)
46 len
= circle
.put(buf
, len
);
49 loop
.uwrite("", 1); // Make select wake up