Commit 4a81b13bb0289ca5c389c33ff0bdbe9e32719f09
1 parent
f2d51eef9e
Exists in
master
Modem chooser optimizer
Showing 1 changed file with 12 additions and 8 deletions Side-by-side Diff
lib/modem-chooser.js
... | ... | @@ -22,27 +22,31 @@ function filterOutCandidates(candidates) { |
22 | 22 | exports.chooser = async function chooser(destination, config) { |
23 | 23 | const logger = global.KOMODO_LOGGER; |
24 | 24 | |
25 | - const prefixName = await prefixes.lookup(destination); | |
26 | - if (logger) logger.verbose('Choosing suitable senders', { destination, prefixName }); | |
25 | + let prefixName = await prefixes.lookup(destination); | |
26 | + if (typeof prefixName === 'string') { | |
27 | + prefixName = prefixName.toUpperCase(); | |
28 | + } | |
29 | + | |
30 | + if (logger) logger.verbose('MODEM-CHOOSER: Choosing suitable senders', { destination, prefixName }); | |
27 | 31 | |
28 | 32 | let imsiSenders = []; |
29 | - if (config.imsi_senders && config.imsi_senders.prefix_names && config.imsi_senders.prefix_names[prefixName]) { | |
33 | + if (config.imsi_senders && prefixName && config.imsi_senders.prefix_names && config.imsi_senders.prefix_names[prefixName]) { | |
30 | 34 | imsiSenders = filterOutCandidates(config.imsi_senders.prefix_names[prefixName]); |
31 | - if (logger) logger.verbose('Suitable senders by prefix name', { destination, prefixName, imsiSenders }); | |
35 | + if (logger) logger.verbose('MODEM-CHOOSER: Try to use imsi senders by prefix name', { destination, prefixName, imsiSenders }); | |
32 | 36 | } |
33 | 37 | |
34 | 38 | if (!imsiSenders.length && config.imsi_senders.default && Array.isArray(config.imsi_senders.default) && config.imsi_senders.default.length) { |
35 | 39 | imsiSenders = filterOutCandidates(config.imsi_senders.default); |
36 | - if (logger) logger.verbose('Suitable default senders', { destination, prefixName, imsiSenders }); | |
40 | + if (logger) logger.verbose('MODEM-CHOOSER: Try to use default senders', { destination, prefixName, imsiSenders }); | |
37 | 41 | } |
38 | 42 | |
39 | 43 | if (!imsiSenders.length) { |
40 | 44 | imsiSenders = filterOutCandidates([ await partnerLastSeen.get(destination) ]); |
41 | - if (logger) logger.verbose('Suitable senders by last seen', { destination, prefixName, imsiSenders }); | |
45 | + if (logger) logger.verbose('MODEM-CHOOSER: Try to use sender by last seen', { destination, prefixName, imsiSenders }); | |
42 | 46 | } |
43 | 47 | |
44 | 48 | if (!imsiSenders.length) { |
45 | - if (logger) logger.verbose('No suitable sender found', { destination, prefixName }); | |
49 | + if (logger) logger.warn('MODEM-CHOOSER: No suitable sender found', { destination, prefixName }); | |
46 | 50 | return; |
47 | 51 | } |
48 | 52 | |
... | ... | @@ -50,7 +54,7 @@ exports.chooser = async function chooser(destination, config) { |
50 | 54 | const idx = Math.round(Math.random() * (count - 1)); |
51 | 55 | const imsiChoosed = imsiSenders[idx]; |
52 | 56 | |
53 | - if (logger) logger.verbose(`Choose modem with IMSI ${imsiChoosed}`, { destination, prefixName, imsiSenders }); | |
57 | + if (logger) logger.verbose(`MODEM-CHOOSER: gonna use modem with IMSI ${imsiChoosed}`, { destination, prefixName, imsiSenders }); | |
54 | 58 | |
55 | 59 | return imsiChoosed; |
56 | 60 | } |
57 | 61 | \ No newline at end of file |