[gxml] StreamBuffer: make parse_buffer() sync
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] StreamBuffer: make parse_buffer() sync
- Date: Tue, 30 Jul 2019 19:08:14 +0000 (UTC)
commit dfb093a60f5e329c9cc23583b8fe5f350ae781ac
Author: Daniel Espinosa <esodan gmail com>
Date: Tue Jul 30 12:18:48 2019 -0500
StreamBuffer: make parse_buffer() sync
gxml/Element.vala | 15 ++++---
...amReaderPerformanceIterateReadUnparsedTest.vala | 18 ++++----
test/StreamReaderTest.vala | 48 ++++++++--------------
3 files changed, 36 insertions(+), 45 deletions(-)
---
diff --git a/gxml/Element.vala b/gxml/Element.vala
index d42733b..8782a9a 100644
--- a/gxml/Element.vala
+++ b/gxml/Element.vala
@@ -803,9 +803,9 @@ public class GXml.Element : GXml.Node,
public MemoryOutputStream read_buffer { get; set; }
/**
- * Asynchronically parse {@link read_buffer}
+ * Synchronically parse {@link read_buffer}
*/
- public async void parse_buffer () throws GLib.Error {
+ public void parse_buffer () throws GLib.Error {
if (read_buffer == null) {
return;
}
@@ -813,12 +813,17 @@ public class GXml.Element : GXml.Node,
read_buffer = null;
foreach (DomNode n in child_nodes) {
if (n is GXml.Element) {
- ((GXml.Element) n).parse_buffer.begin (()=>{
- //message (((GXml.Element) n).write_string ());
- });
+ ((GXml.Element) n).parse_buffer ();
}
}
}
+
+ /**
+ * Asynchronically parse {@link read_buffer}
+ */
+ public async void parse_buffer_async () throws GLib.Error {
+ parse_buffer ();
+ }
}
diff --git a/test/StreamReaderPerformanceIterateReadUnparsedTest.vala
b/test/StreamReaderPerformanceIterateReadUnparsedTest.vala
index 24b6380..6c8a81a 100644
--- a/test/StreamReaderPerformanceIterateReadUnparsedTest.vala
+++ b/test/StreamReaderPerformanceIterateReadUnparsedTest.vala
@@ -54,16 +54,14 @@ class GXmlTest.Suite : GLib.Object
return Source.REMOVE;
});
Idle.add (()=>{
- (d.document_element as GXml.Element).parse_buffer.begin ((obj, res)=>{
- try {
- timer.elapsed (out time);
- message ("Parse root: %lu ms", time / 1000);
- (d.document_element as GXml.Element).parse_buffer.end (res);
- } catch (GLib.Error e) {
- warning ("Error: %s", e.message);
- assert_not_reached ();
- }
- });
+ try {
+ (d.document_element as GXml.Element).parse_buffer ();
+ timer.elapsed (out time);
+ message ("Parse root: %lu ms", time / 1000);
+ } catch (GLib.Error e) {
+ warning ("Error: %s", e.message);
+ assert_not_reached ();
+ }
return Source.REMOVE;
});
} catch (GLib.Error e) {
diff --git a/test/StreamReaderTest.vala b/test/StreamReaderTest.vala
index 01cf557..1e5c716 100644
--- a/test/StreamReaderTest.vala
+++ b/test/StreamReaderTest.vala
@@ -213,16 +213,10 @@ class GXmlTest {
var sr = new StreamReader (istream);
try {
var doc = sr.read ();
- (doc.document_element as GXml.Element).parse_buffer.begin ((obj,
res)=>{
- try {
- (doc.document_element as
GXml.Element).parse_buffer.end (res);
- message (doc.write_string ());
- assert ((doc.document_element as
GXml.Element).read_buffer == null);
- loop.quit ();
- } catch (GLib.Error e) {
- warning ("Error: %s", e.message);
- }
- });
+ (doc.document_element as GXml.Element).parse_buffer ();
+ message (doc.write_string ());
+ assert ((doc.document_element as GXml.Element).read_buffer == null);
+ loop.quit ();
} catch (GLib.Error e) {
warning ("Error while reading stream: %s", e.message);
}
@@ -281,26 +275,20 @@ class GXmlTest {
assert ((n as GXml.Element).read_buffer != null);
}
}
- bs.parse_buffer.begin ((obj, res)=>{
- try {
- bs.parse_buffer.end (res);
- message (doc.write_string ());
- assert (bs.read_buffer == null);
- assert (bs.books != null);
- assert (bs.books.length == 2);
- var b1 = bs.books.get_item (0) as Book;
- assert (b1 != null);
- assert (b1 is Book);
- assert (b1.authors != null);
- var b2 = bs.books.get_item (0) as Book;
- assert (b2 != null);
- assert (b2 is Book);
- assert (b2.authors != null);
- loop.quit ();
- } catch (GLib.Error e) {
- warning ("Error: %s", e.message);
- }
- });
+ bs.parse_buffer ();
+ message (doc.write_string ());
+ assert (bs.read_buffer == null);
+ assert (bs.books != null);
+ assert (bs.books.length == 2);
+ var b1 = bs.books.get_item (0) as Book;
+ assert (b1 != null);
+ assert (b1 is Book);
+ assert (b1.authors != null);
+ var b2 = bs.books.get_item (0) as Book;
+ assert (b2 != null);
+ assert (b2 is Book);
+ assert (b2.authors != null);
+ loop.quit ();
} catch (GLib.Error e) {
warning ("Error while reading stream: %s", e.message);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]