toIniString method
Convert the configuration to an INI format string
Implementation
String toIniString() {
final buffer = StringBuffer();
// Ports section
buffer.writeln('[${ConfigSection.ports.name}]');
buffer.writeln('MulticastPort = $multicastPort');
buffer.writeln('BasePort = $basePort');
buffer.writeln('PortRange = $portRange');
buffer.writeln('IPv6 = ${ipv6.name}');
buffer.writeln();
// Multicast section
buffer.writeln('[${ConfigSection.multicast.name}]');
buffer.writeln('ResolveScope = ${resolveScope.name}');
if (listenAddress != null) {
buffer.writeln('ListenAddress = $listenAddress');
} else {
buffer.writeln('; ListenAddress = ""');
}
if (ipv6MulticastGroup != null) {
buffer.writeln('IPv6MulticastGroup = $ipv6MulticastGroup');
} else {
buffer.writeln('; IPv6MulticastGroup = ""');
}
buffer.writeln(
'MachineAddresses = ${_formatAddressList(machineAddresses)}',
);
buffer.writeln('LinkAddresses = ${_formatAddressList(linkAddresses)}');
buffer.writeln('SiteAddresses = ${_formatAddressList(siteAddresses)}');
buffer.writeln(
'OrganizationAddresses = ${_formatAddressList(organizationAddresses)}',
);
buffer.writeln('GlobalAddresses = ${_formatAddressList(globalAddresses)}');
buffer.writeln(
'AddressesOverride = ${_formatAddressList(addressesOverride)}',
);
buffer.writeln('TTLOverride = $ttlOverride');
buffer.writeln();
// Lab section
buffer.writeln('[${ConfigSection.lab.name}]');
buffer.writeln('KnownPeers = ${_formatAddressList(knownPeers)}');
buffer.writeln('SessionID = $sessionId');
buffer.writeln();
// Tuning section
buffer.writeln('[${ConfigSection.tuning.name}]');
buffer.writeln('WatchdogCheckInterval = $watchdogCheckInterval');
buffer.writeln('WatchdogTimeThreshold = $watchdogTimeThreshold');
buffer.writeln('MulticastMinRTT = $multicastMinRTT');
buffer.writeln('MulticastMaxRTT = $multicastMaxRTT');
buffer.writeln('UnicastMinRTT = $unicastMinRTT');
buffer.writeln('UnicastMaxRTT = $unicastMaxRTT');
buffer.writeln('ContinuousResolveInterval = $continuousResolveInterval');
buffer.writeln('TimerResolution = $timerResolution');
buffer.writeln('MaxCachedQueries = $maxCachedQueries');
buffer.writeln('TimeUpdateInterval = $timeUpdateInterval');
buffer.writeln('TimeUpdateMinProbes = $timeUpdateMinProbes');
buffer.writeln('TimeProbeCount = $timeProbeCount');
buffer.writeln('TimeProbeInterval = $timeProbeInterval');
buffer.writeln('TimeProbeMaxRTT = $timeProbeMaxRTT');
buffer.writeln('OutletBufferReserveMs = $outletBufferReserveMs');
buffer.writeln('OutletBufferReserveSamples = $outletBufferReserveSamples');
buffer.writeln('SendSocketBufferSize = $sendSocketBufferSize');
buffer.writeln('InletBufferReserveMs = $inletBufferReserveMs');
buffer.writeln('InletBufferReserveSamples = $inletBufferReserveSamples');
buffer.writeln('ReceiveSocketBufferSize = $receiveSocketBufferSize');
buffer.writeln('SmoothingHalftime = $smoothingHalftime');
buffer.writeln(
'ForceDefaultTimestamps = ${forceDefaultTimestamps.toString().toLowerCase()}',
);
buffer.writeln();
// Log section
buffer.writeln('[${ConfigSection.log.name}]');
buffer.writeln('level = $logLevel');
if (logFile != null) {
buffer.writeln('file = $logFile');
} else {
buffer.writeln('; file = ');
}
return buffer.toString();
}