new object $string_connection: $connection;
var $root inited = 1;
var $string_connection buffer = `[];
var $string_connection line_buffer = [];
public method .init_string_connection() {
buffer = `[];
line_buffer = [];
};
driver method .parse() {
arg incoming;
var lines, line, index;
// For the string connection, convert to strings first.
catch any {
lines = buf_to_strings(buffer + incoming);
index = listlen(lines);
buffer = lines[index];
lines = lines.delete(index);
line_buffer += lines;
while (line_buffer) {
line = line_buffer[1];
line_buffer = line_buffer.delete(1);
.parse_line(line);
}
} with {
.log($parse_lib.traceback(traceback()));
}
};