* New Address class for FTN addresses + experiment with ES6 classes
* Move a lot of address functionality/parsing/etc. to Address * WIP on ftn_bso scan/tosser * PATH and SEEN-BY creation, parsing, etc.
This commit is contained in:
@@ -2,8 +2,12 @@
|
||||
'use strict';
|
||||
|
||||
// ENiGMA½
|
||||
var MessageScanTossModule = require('../scan_toss_module.js').MessageScanTossModule;
|
||||
var Config = require('../config.js').config;
|
||||
let MessageScanTossModule = require('../scan_toss_module.js').MessageScanTossModule;
|
||||
let Config = require('../config.js').config;
|
||||
let ftnMailpacket = require('../ftn_mail_packet.js');
|
||||
let ftnUtil = require('../ftn_util.js');
|
||||
|
||||
let moment = require('moment');
|
||||
|
||||
exports.moduleInfo = {
|
||||
name : 'FTN',
|
||||
@@ -18,7 +22,60 @@ function FTNMessageScanTossModule() {
|
||||
|
||||
this.config = Config.scannerTossers.ftn_bso;
|
||||
|
||||
|
||||
this.createMessagePacket = function(message, config) {
|
||||
this.prepareMessage(message);
|
||||
|
||||
let packet = new ftnMailPacket.Packet();
|
||||
|
||||
let packetHeader = new ftnMailpacket.PacketHeader();
|
||||
packetHeader.init(
|
||||
config.network.localAddress,
|
||||
config.remoteAddress);
|
||||
|
||||
packetHeader.setPassword(config.remoteNode.packetPassword || '');
|
||||
};
|
||||
|
||||
this.prepareMessage = function(message, config) {
|
||||
//
|
||||
// Set various FTN kludges/etc.
|
||||
//
|
||||
message.meta.FtnProperty = message.meta.FtnProperty || {};
|
||||
message.meta.FtnProperty.ftn_orig_node = config.network.localAddress.node;
|
||||
message.meta.FtnProperty.ftn_dest_node = config.remoteAddress.node;
|
||||
message.meta.FtnProperty.ftn_orig_network = config.network.localAddress.net;
|
||||
message.meta.FtnProperty.ftn_dest_network = config.remoteAddress.net;
|
||||
// :TODO: attr1 & 2
|
||||
message.meta.FtnProperty.ftn_cost = 0;
|
||||
|
||||
message.meta.FtnProperty.ftn_tear_line = ftnUtil.getTearLine();
|
||||
message.meta.FtnProperty.ftn_origin = ftnUtil.getOrigin(config.network.localAddress);
|
||||
|
||||
if(message.areaTag) {
|
||||
message.meta.FtnProperty.ftn_area = message.areaTag;
|
||||
} else {
|
||||
// :TODO: add "Via" line -- FSP-1010
|
||||
}
|
||||
|
||||
//
|
||||
// When exporting messages, we should create/update SEEN-BY
|
||||
// with remote address(s) we are exporting to.
|
||||
//
|
||||
message.meta.FtnProperty.ftn_seen_by =
|
||||
ftnUtil.getUpdatedSeenByEntries(
|
||||
message.meta.FtnProperty.ftn_seen_by,
|
||||
Config.messageNetworks.ftn.areas[message.areaTag].uplinks
|
||||
);
|
||||
|
||||
//
|
||||
// And create/update PATH for ourself
|
||||
//
|
||||
message.meta.FtnKludge['PATH'] =
|
||||
ftnUtil.getUpdatedPathEntries(
|
||||
message.meta.FtnKludge['PATH'],
|
||||
config.network.localAddress.node
|
||||
);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
require('util').inherits(FTNMessageScanTossModule, MessageScanTossModule);
|
||||
|
||||
Reference in New Issue
Block a user