Creates a peerList from a table-formatted string buffer. The format is
<header row fields seperated by splitOn
, terminated by \n>
<user rows with fields seperated by splitOn
, terminated by \n>
Abbreviated example: userid|context|domain| ... 1000|default|fs.local| ... 1001|default|fs.local| ... ...
Source
PeerList.fromMultilineBuffer(String buffer, {String splitOn: '|'}) {
List<String> keys = new List<String>();
buffer.split('\n').forEach((var line) {
if (keys.isEmpty) {
line.split(splitOn).forEach((f) {
keys.add(f);
});
} else {
if (!line.isEmpty && line != "+OK") {
Peer newPeer = new Peer.fromLine(keys, line, splitOn);
if (!_map.containsKey(newPeer.key)) {
add(newPeer);
} else {
_map[newPeer.key].mergeGroups(newPeer);
}
}
}
});
}