Przeglądaj źródła

Ported the TCPIPChecksum operation.
Main content has been moved to the IP lib file, as it is used in multiple files.
Changed the name, due to it originally containing a backslash, which caused issues with the script.

Callum Fraser 7 lat temu
rodzic
commit
161f89c038
1 zmienionych plików z 40 dodań i 0 usunięć
  1. 40 0
      src/core/operations/TCPIPChecksum.mjs

+ 40 - 0
src/core/operations/TCPIPChecksum.mjs

@@ -0,0 +1,40 @@
+/**
+ * @author n1474335 [n1474335@gmail.com]
+ * @copyright Crown Copyright 2016
+ * @license Apache-2.0
+ */
+
+import Operation from "../Operation";
+import {calculateTCPIPChecksum} from "../lib/Ip";
+
+/**
+ * TCP/IP Checksum operation
+ */
+class TCPIPChecksum extends Operation {
+
+    /**
+     * TCP/IPChecksum constructor
+     */
+    constructor() {
+        super();
+
+        this.name = "TCP/IP Checksum";
+        this.module = "Hashing";
+        this.description = "Calculates the checksum for a TCP (Transport Control Protocol) or IP (Internet Protocol) header from an input of raw bytes.";
+        this.inputType = "byteArray";
+        this.outputType = "string";
+        this.args = [];
+    }
+
+    /**
+     * @param {byteArray} input
+     * @param {Object[]} args
+     * @returns {string}
+     */
+    run(input, args) {
+        return calculateTCPIPChecksum(input);
+    }
+
+}
+
+export default TCPIPChecksum;