|
|
@@ -16,12 +16,11 @@ namespace Astralis {
|
|
|
|
|
|
public async BinaryData? read() throws Error {
|
|
|
while (chunks.length == 0 && !writes_complete) {
|
|
|
- WaitHandler handler = null;
|
|
|
- handler = () => {
|
|
|
- on_data_or_complete.disconnect(handler);
|
|
|
+ ulong handler_id = 0;
|
|
|
+ handler_id = on_data_or_complete.connect(() => {
|
|
|
+ SignalHandler.disconnect(this, handler_id);
|
|
|
Idle.add(read.callback);
|
|
|
- };
|
|
|
- on_data_or_complete.connect(handler);
|
|
|
+ });
|
|
|
yield;
|
|
|
}
|
|
|
if(chunks.length == 0) {
|
|
|
@@ -32,12 +31,11 @@ namespace Astralis {
|
|
|
|
|
|
public async BinaryData read_all() {
|
|
|
while (!writes_complete) {
|
|
|
- WaitHandler handler = null;
|
|
|
- handler = () => {
|
|
|
- on_data_or_complete.disconnect(handler);
|
|
|
+ ulong handler_id = 0;
|
|
|
+ handler_id = on_data_or_complete.connect(() => {
|
|
|
+ SignalHandler.disconnect(this, handler_id);
|
|
|
Idle.add(read_all.callback);
|
|
|
- };
|
|
|
- on_data_or_complete.connect(handler);
|
|
|
+ });
|
|
|
yield;
|
|
|
}
|
|
|
var data = new ByteComposition();
|