forked from LeenkxTeam/LNXSDK
53 lines
1.0 KiB
Haxe
53 lines
1.0 KiB
Haxe
package leenkx.logicnode;
|
|
import leenkx.system.Event;
|
|
import iron.object.Object;
|
|
|
|
|
|
|
|
class SeedTorrentNode extends LogicNode {
|
|
public var torrent: Dynamic;
|
|
public var net_Url: Dynamic;
|
|
|
|
|
|
public function new(tree:LogicTree) {
|
|
super(tree);
|
|
}
|
|
|
|
|
|
override function run(from:Int) {
|
|
#if js
|
|
var connection = inputs[1].get();
|
|
if (connection == null) return;
|
|
trace("got connection");
|
|
var data = inputs[3].get();
|
|
if (data == null) return;
|
|
trace("got data");
|
|
var opts = inputs[2].get();
|
|
net_Url = connection._url;
|
|
|
|
var cx = "lx_" + net_Url;
|
|
var lx:Dynamic = untyped js.Browser.window[cx];
|
|
var args = opts.toString();
|
|
trace(args);
|
|
var func = Reflect.field(lx.wt, "seed");
|
|
if (func != null) {
|
|
torrent = func(data, function (torrent) {
|
|
trace('Client is seeding ' + torrent.magnetURI);
|
|
});
|
|
//trace(torrent);
|
|
}
|
|
|
|
runOutput(0);
|
|
#end
|
|
}
|
|
|
|
override function get(from: Int): Dynamic {
|
|
return switch (from) {
|
|
case 1: torrent;
|
|
default: throw "Unreachable";
|
|
}
|
|
}
|
|
|
|
}
|
|
|