{"_id":"ut-port-tcp","_rev":"61-50d9f274570a6f747d86ad79f31a1e6b","name":"ut-port-tcp","description":"UT port tcp module","dist-tags":{"latest":"7.5.1","ci":"5.11.0-rc-acapulco.0","ut6":"6.0.0-ut6.7","rc-einstein":"6.1.0-rc-einstein.0","rc-godfather":"6.2.0-rc-godfather.5","accu":"6.1.1-accu.3"},"versions":{"5.4.3":{"name":"ut-port-tcp","version":"5.4.3","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"a8fb112534c3f06de6e40d6652a2f813cfc4b0a1","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.3","_shasum":"5d09c9a77e67d864208b0924566b11c4ae37593f","_from":".","_npmVersion":"3.8.1","_nodeVersion":"4.4.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"5d09c9a77e67d864208b0924566b11c4ae37593f","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.3.tgz","integrity":"sha512-Zih4Unasx3e8YnC5EF4ktA9dEM9oZMoUC3KWcbIRNGnvpr6g2wl1pnyoz5QVaBui3hgnHtXAgAxBGcJZAK7aUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQ4borydy5Iql0SJTE6jJIDne4DPKcr8BGaazDWSi/vAiAOs7rcgPPj9LG3gq9GxXHjpf06aIjnrRKBb9fiaiD1yw=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.3.tgz_1471027475099_0.01301305927336216"},"directories":{}},"5.4.4":{"name":"ut-port-tcp","version":"5.4.4","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"2efe847155968e6ae259dc609f27f92cb7cbcbf7","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.4","_shasum":"99a25e59927b0f15890b1f79c40ed2820e54db10","_from":".","_npmVersion":"3.10.7","_nodeVersion":"4.4.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"99a25e59927b0f15890b1f79c40ed2820e54db10","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.4.tgz","integrity":"sha512-MzeoEDSbQiRD8XTC4AWTRHZfG4JxVJjN5jCNWgK2hSDW85LiEBGYVtX3yIaJXYrKl/00wUPevE55sQG+ygzhmw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8Rh4D+1kYANu+gDQ+r4V10ccXiS6XoLqyxLg7RRnpdAiBSWI2rPDO5YPqdcJcdOpex6w+X5B8cl6fN9pb+BFJAdQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.4.tgz_1474363550049_0.050480426056310534"},"directories":{}},"5.4.5":{"name":"ut-port-tcp","version":"5.4.5","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"e12c4ad701d08e0099dfeec6ada653a0d4080733","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.5","_shasum":"ae120580c145b1a333732031ed9027d94bd759e2","_from":".","_npmVersion":"3.10.7","_nodeVersion":"4.4.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"ae120580c145b1a333732031ed9027d94bd759e2","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.5.tgz","integrity":"sha512-SsEUcfvsS/WiFcMj2z1UZBp9XtcXrS83yfyNE+CPDqJSSSuyg9zeStXhFg/A3+3qnkVIxnsFPGoKn8wumwPn0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFUYh7SxvfwAfluqJFM0hP83WRsyLjlao7S9PGdWQuovAiAsdq+qEwmvHlaBuRuA8E5I/pPr+LN4NrTFsX6mKXz1+w=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.5.tgz_1475595792315_0.6769314503762871"},"directories":{}},"5.4.6":{"name":"ut-port-tcp","version":"5.4.6","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"ac315cf9dc217878ad60c8ffc7dcaf8ce0f742df","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.6","_shasum":"a3a8d749a623b3b90c743ee8c3a1d9b3ef0e84e4","_from":".","_npmVersion":"3.10.7","_nodeVersion":"4.4.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"a3a8d749a623b3b90c743ee8c3a1d9b3ef0e84e4","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.6.tgz","integrity":"sha512-EEMKZL2Iovfr1bj/fscs9EFsE7m2uPXrxmyN29d9NVxZOQCrr1yf+3kfgVLhGRSsUdXbgfj0EcggGtGt7cfoNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICU98AB4DTIhiWlVQQTENLrH0lpQLgvi2b1xo8746IQwAiA6KVEOvVs99mpikRO+oRJy/uFYvMQmFHo7kQOP++KwJw=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.6.tgz_1475676802012_0.6575655802153051"},"directories":{}},"5.4.7":{"name":"ut-port-tcp","version":"5.4.7","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"0535777564d78af5d37d34d3ae00efd463305a06","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.7","_shasum":"6d043056c6597692cdb5015476801b4617d2f9cc","_from":".","_npmVersion":"3.10.7","_nodeVersion":"4.4.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"6d043056c6597692cdb5015476801b4617d2f9cc","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.7.tgz","integrity":"sha512-ngsdX4aNOCR3TQT9A1zW+1mFvYnCNqQsUPR15V7OfC7fzmf7DrKk/Wxjqp97vT+gfQDdrUXMyZkSTqTHlufm4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbmrgBHpWMDHLknN2ZQoXFqYj4f79rK/5V3tXwlB1/TgIhAOQjJfLpqXzISte19d9mSh5KjfCIB7HkN2bh04XLbYdF"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.7.tgz_1475750399564_0.8720422121696174"},"directories":{}},"5.4.10":{"name":"ut-port-tcp","version":"5.4.10","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"6e6cc51b8372b0640831f2c4f1b94f4fe58d0a5b","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.4.10","_shasum":"f8a6f8c2b1e6c4f01ef9eabc9cba4ee1e712398a","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"f8a6f8c2b1e6c4f01ef9eabc9cba4ee1e712398a","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.4.10.tgz","integrity":"sha512-KgkLLqH90Y+G/2ZfpbGGZQt2870ld6uI1aOXUsFpf1rbeO5n3Zl7BSXDOWWkkSJ8q5b/uZsAaNiCMeQIbMBCAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1xnDiG3C/Lj9+vGvfLvGwqTfqQne0SJvOS4PTe341dwIhANug3T2wzTf9pmJ622hUR/jYfSmNbIKc5GN5yfgkxKkx"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.4.10.tgz_1477309663130_0.5164256480056792"},"directories":{}},"5.5.0":{"name":"ut-port-tcp","version":"5.5.0","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"aeb6b9a8da562a0aefd166951c3c70c28e4677a5","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.5.0","_shasum":"a553044bf79031a6bb012db5d3920bdb67d2abde","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"a553044bf79031a6bb012db5d3920bdb67d2abde","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.5.0.tgz","integrity":"sha512-IoLWHuR04yCzLoZsoqAsfBQ2X6hkriD0EDIgZxaKZohxSY5wGXFhW9yTN8Kmc8rVbP10G7QSUlq07PfOuBI6sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYCCT9M5ET90mBpr49cC9WPkcB8SY7e2aD9IJgB8e2uAiBILNMzvASarwtc7PqR3knohqSVjlzR2HLaiwQHInZkqQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.5.0.tgz_1477573380992_0.24598939204588532"},"directories":{}},"5.6.0":{"name":"ut-port-tcp","version":"5.6.0","dependencies":{"lodash.assign":"4.1.0","reconnect-core":"1.3.0","through2":"2.0.1","ut-bitsyntax":"~5.4.2"},"devDependencies":{"ut-tools":"^5.6.2"},"peerDependencies":{"ut-bus":"~5.4.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"00ab2b95f54ee113856f0a968d56c056e3e29161","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.6.0","_shasum":"ff87004ad4cb015de59f37194998b8f4e1574a87","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"ff87004ad4cb015de59f37194998b8f4e1574a87","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.6.0.tgz","integrity":"sha512-oreYmDdSD1XIA0jdgPbGBEgMlvihG3hXu7xLqB47QfriEJGulli6D5+AHJ6JvykQm83YrsCLM2agmOskH1r/qg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc9ISIhhqqGjQ12YOEHMHtowGILZSwn3NgwzHVDdpV8AIhAPZZs4aLEFBOwOQ7E/B0gpKdLJAtAUcK59bQddn1XcmJ"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.6.0.tgz_1478350990725_0.5823997808620334"},"directories":{}},"5.7.0":{"name":"ut-port-tcp","version":"5.7.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"~6.0.5"},"devDependencies":{"ut-tools":"^5.11.1"},"peerDependencies":{"ut-bus":"~5.8.1"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"e4a4100b6369fa200c22e0833af8c315e0b861f7","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.7.0","_shasum":"1ade16402e47a2ade1ef59ed61878b7314cd1f29","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"1ade16402e47a2ade1ef59ed61878b7314cd1f29","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.7.0.tgz","integrity":"sha512-Ip+VCyLKn5hi7/+G1BnIktc7PD4Cl2zj8ncCj38Rc+saIRG+0ygBp7kCGyLcqS49UrNpngAIv/WCcMhq1awLZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5d/SOWw15Oe/hBKGfui8Sqxj3Xk0vAQOZOPlsbf2myAiEAjOJx9RHflXQj10jYFDq9kwmZ7sahnx53xTsV696KJWs="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.7.0.tgz_1482495818836_0.8664619599003345"},"directories":{}},"5.7.1":{"name":"ut-port-tcp","version":"5.7.1","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"~6.0.5"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.8.1"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"e7f36c71bc883d622ee1518ac684416baadafa53","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.7.1","_shasum":"b965ac81710b463da314218d6fd45335f4728889","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"b965ac81710b463da314218d6fd45335f4728889","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.7.1.tgz","integrity":"sha512-KRI3JzeBxn+OQi6sgzhOcJN+aPEPGDXT05Wp5kMBm3TkqFFeQPimTZUhRy8oEajqhEbIbEN3vXsdIchvG6BhMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHzOuBAa7tGkI5fB44XErrjwrdG08z5fqrBYeD6++ysLAiAm9nbYmWqQmDFL0RNMqRZS7A29dLAzxg4u9Eaqg/AOLg=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.7.1.tgz_1488156117632_0.3814933674875647"},"directories":{}},"5.7.2":{"name":"ut-port-tcp","version":"5.7.2","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"~6.0.6"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.8.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"d53ace7b02e884be1be9f0c46d711ac85bff719c","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.7.2","_shasum":"b8ffab138af1301eeb0ac3e207ccc5da29162bc2","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.6.1","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"b8ffab138af1301eeb0ac3e207ccc5da29162bc2","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.7.2.tgz","integrity":"sha512-z1jmhnkdRSQL4i4I76LcLZSGgDIUIijA3KnnfEEkjpNa9vUBYL4VlroHWdWfqZF6zk7iqpoFcICSCUtey+E42g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXtveVZKuyo/3ppxddIR/wUwdfSZZVC2+rh3ecgFBHBAIgfJQre7aw4HcxZbblIcN+Z4986uelUDFEu/a85Purja4="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.7.2.tgz_1488813131333_0.7537641250528395"},"directories":{}},"5.7.3":{"name":"ut-port-tcp","version":"5.7.3","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"756c3a8e4c59c479dca01b474ca2c50cd9b22494","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.7.3","_shasum":"24dd3d5fb27fb8d75539804f4c49dbab61951a98","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"24dd3d5fb27fb8d75539804f4c49dbab61951a98","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.7.3.tgz","integrity":"sha512-55OGv0NVxTUtzO9MLm1urMGvqI0UYRcPZtUOiKjE2bIaf12W8o3VKrOQigKfOv/M+Cu8r7C24bA3fqRAgaeUvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/im1qTM01K45DRr1yb5kvTKCklr9EIh3PaaUPEEaI6wIhAI7oWz+uN+wyvo7VMHSwKP/U8PVrZBMixzOhC8tbAwP1"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ut-port-tcp-5.7.3.tgz_1488967396363_0.9251356001477689"},"directories":{}},"5.8.0-ssl.0":{"name":"ut-port-tcp","version":"5.8.0-ssl.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"c24cfc7fccadae69f407c0c995901f21fcb7f567","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.8.0-ssl.0","_shasum":"198383aea6dd68850326ce9c6cb537ae0a763296","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"198383aea6dd68850326ce9c6cb537ae0a763296","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.8.0-ssl.0.tgz","integrity":"sha512-UC5Sq08gXUbwH7NpZBxnouDtOB/XBx/PP5g2owjp4VXrD6T+eXxZlvKZxkyXlHPByOwcO01HBQz0YHTNoHgb9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCU3648aRTZSFAvAYJtBBDnSCY+XPgR2R6rhMHZAiBjtwIhAIf1LOWZopUrF7RVZ8vpQUbON65SHf8nkNqnNhGpVrD3"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.8.0-ssl.0.tgz_1497895322943_0.7825375536922365"},"directories":{}},"5.8.0":{"name":"ut-port-tcp","version":"5.8.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"dfa3711281d1393d8af310d579583bcdeca3004d","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.8.0","_shasum":"419ae986e60b1faa2ecc8f14f1944012134f9843","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"419ae986e60b1faa2ecc8f14f1944012134f9843","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.8.0.tgz","integrity":"sha512-YysgcpkjZ1lsdY0kYcWQNtomtXJOOYHdOkWLcnmFjUsgz7cnj7OJUVm1m0dYfu2cgDVf8StQkKohSM2fZV+qzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn/oWRhahPoJfYyNT77JyCls7QJzpRU5V2/dT2Mk1COAIhAPtNrPpFyLt779vOEajd8KJyLA37SQHAtRsuKj+5k7H5"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.8.0.tgz_1497923501744_0.24271974572911859"},"directories":{}},"5.9.0-rc.0":{"name":"ut-port-tcp","version":"5.9.0-rc.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"d1be5e0ff2440cf8b3c732ed57a69bedc9a6b1ce","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.9.0-rc.0","_shasum":"da9c85e0d1f5e9b1beaaa16bf8b7eadb78802b61","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"da9c85e0d1f5e9b1beaaa16bf8b7eadb78802b61","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.9.0-rc.0.tgz","integrity":"sha512-5Xpq2IYOCpQ1pLmRd8mcbJZ6E9Cyg9ZJtCG6DmJuKULNbb0RzhEodnSjFMETgIRHomVSjoYyOf6T4nt0wP1BPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHjlOjSnkbaY1pxJIOKYKtsJYX+FYAWQoyEqBPua/+07AiBCcF217wGAyqQ+aZHM3fxJAyIumfTMA4eoCmDfF6ivsQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.9.0-rc.0.tgz_1506327809930_0.26557826856151223"},"directories":{}},"5.9.0":{"name":"ut-port-tcp","version":"5.9.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"72f811499e8eacf624c7cc1f1a81add1dd4e675b","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.9.0","_shasum":"c9db6dae3252e804979a10c037e263957bbd085b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"c9db6dae3252e804979a10c037e263957bbd085b","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.9.0.tgz","integrity":"sha512-MmUh48V3tueEIrZYhAewj7jta6HhfcstfLZTbkyHRrWd0E0NbkcYdVbwMP5o9ugEVaWozhfEyAkaECVowwwPUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfNIJpLk+74XMMa6SPIOvUu/sqTpkbq3CUc0s8C+eg9AIgcNhNbVCVSrNNXeWiGwTrI0WhiuSlfYovwieea6Qkp6I="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.9.0.tgz_1506574938261_0.9261055272072554"},"directories":{}},"6.0.0-ut6.0":{"name":"ut-port-tcp","version":"6.0.0-ut6.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"ce668a859ede164007d4333e47043c91ca213632","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.0","_shasum":"04448675e824474f1c129694378c162ffb45b256","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"04448675e824474f1c129694378c162ffb45b256","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.0.tgz","integrity":"sha512-VEoHOOFbff3Yz1t67F+R0vsxPM7xzumXcOLfvK1maF/2bCoJ94QqmAbKFu0JGvdop/C69FaS5cHm75BeD1WU2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEG/Thl44Y9BsyfA415bQjJ2NBQPjO8GPoEHcyzzZng7AiA6dMMvwey5uM2z9pYm0hu3w0qCJk79bQJI7WJYAITJ0Q=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.0.tgz_1508290966736_0.6697551622055471"},"directories":{}},"6.0.0-ut6.1":{"name":"ut-port-tcp","version":"6.0.0-ut6.1","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"ee09787d1cad837e89206200cedc4b64c40b9fde","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.1","_shasum":"c2bf1dfc2e0004da9d71abef1ca49a0751ef1e8b","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"c2bf1dfc2e0004da9d71abef1ca49a0751ef1e8b","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.1.tgz","integrity":"sha512-glOtzBFH16Ija8T7hc7c3JUY21Nys8cRMICQ190xd5zblajmHKlurbvwykKB19r+gMJsQueo9wvDXU985Ng+7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyy3iHe9Q/2qzeEafa0Zz10mAAUtDDP/SdiwmhLj+VAwIgMWJyQrxMsBtR1k9cul/hfB86pDAokogJisCdd08s7TI="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.1.tgz_1508306559066_0.25508086779154837"},"directories":{}},"6.0.0-ut6.2":{"name":"ut-port-tcp","version":"6.0.0-ut6.2","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"1b2e33c5d121f2d39a96d1f0708fa802fff18e3a","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.2","_shasum":"aa9537b114b2ead1ab154268d7960ece89bcc655","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"aa9537b114b2ead1ab154268d7960ece89bcc655","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.2.tgz","integrity":"sha512-TtnpUyALUswwrD5xQAXsQ2NyxIuQzOyo8LXD3zrR72DOGIv6lpYsRntp4uiCTPsWq663xeXh/PNm4hpuU7WPGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICdHXrcCb8NVGQqOUP4CTwHEU7UvinT3bfblzsT3qVCsAiBkEDKB9cNKXW/rBmJ/ydXakw2VASTdz6Iyr9YIQqpsiA=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.2.tgz_1508307164230_0.28717127768322825"},"directories":{}},"6.0.0-ut6.3":{"name":"ut-port-tcp","version":"6.0.0-ut6.3","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"4146431a46ad8083b17b8cd376a86cc3e03fe02d","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.3","_shasum":"56c1ab8eec7bf30c7bbb65ed702f9dca409c7165","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"56c1ab8eec7bf30c7bbb65ed702f9dca409c7165","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.3.tgz","integrity":"sha512-eTisIgRwpcyHDgb6JcoD7e0RK2Ni/LY9PNfBLTp3sVaiokcnvHZDYnbAuPm3mBs/aExbpztIzUmEYqiMDN6iVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFVwDc6gfBgkj/fgeS2wW2t9VAKDaIsSBvBV41VxVocBAiBA/mK4vClWnvpobZakw04fGN0+RthJ0qy87GeZkgIfoQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.3.tgz_1508307756575_0.8624508164357394"},"directories":{}},"5.9.0-rc.1":{"name":"ut-port-tcp","version":"5.9.0-rc.1","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"61193af8f7ffdf4525a911c87abf8258bca04cba","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.9.0-rc.1","_shasum":"28060fb472160fc5a475d3f9117fc2678df4f28e","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"28060fb472160fc5a475d3f9117fc2678df4f28e","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.9.0-rc.1.tgz","integrity":"sha512-pRd1J1hKcH5G/3WIDyIJ52kCICyHjzzWIi6CRr2dm81rQbbf0+GZgvKhg9XowVEjrNesHqJnAZb5JkfJ1UjBNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeAt+9glLnIVnN5N25YQ0jsVOR1M+biaOAi4sS3dFcQgIhANxUWJnZj1e8jX8CW0P94MYp/cTn/degRWTPPdlWYJ/U"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.9.0-rc.1.tgz_1508328807698_0.3804051801562309"},"directories":{}},"6.0.0-ut6.4":{"name":"ut-port-tcp","version":"6.0.0-ut6.4","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"fc8625e62862d4a7dad112bb5a12c058d54b0dcb","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.4","_shasum":"6b300a54a5faf70e7c0423a769d9c56de8126795","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"6b300a54a5faf70e7c0423a769d9c56de8126795","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.4.tgz","integrity":"sha512-qZPXN+RWD9mTYrF77tsTWS9yWcrvul8ZhfhfLr/ym7Iq2ouJx5M/ExxX64ihqq0fZWtPENt4SqVvhen6T56Dyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClVSz7OCDkbKfqT+XD91+4sIkq1FwV2s8+AHJyJ7E+yAIhAMg9JYKDW0b1s/nJoKYwvHv/Xc2yXDUi1owBSQT/uvFN"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.4.tgz_1508491430008_0.22184498491697013"},"directories":{}},"5.9.0-rc.2":{"name":"ut-port-tcp","version":"5.9.0-rc.2","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"b155827ee3617b98bcc8a6d3378579ca8a9bf3f1","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.9.0-rc.2","_shasum":"18f34223000191bf6834bbbb0089aaac3d0ff770","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"18f34223000191bf6834bbbb0089aaac3d0ff770","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.9.0-rc.2.tgz","integrity":"sha512-Qh7FUrUwqzGNcANvDjbXjih1Zx8k2TAlwhewKAFFyt5Uuiztas2i5n3hUhpZaNy2Qaejc0u5pTb4wwk28DnK5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwIcWCH7vJLJKswSThylAKopc79whdp77LDrYQrZqlDAiBLKClXlCMd0nb2zXH5ICsA0yZbgD8nJUbByRKK5a1FEQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.9.0-rc.2.tgz_1508744558167_0.4167262853588909"},"directories":{}},"5.10.0":{"name":"ut-port-tcp","version":"5.10.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"18fc1cd910ccd72d66b2a3726c1e1bb4651a531e","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.10.0","_shasum":"5d6ad03ff8a85f93fcaea9346863f48171236cbe","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"5d6ad03ff8a85f93fcaea9346863f48171236cbe","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.10.0.tgz","integrity":"sha512-hLQo1/f1taSsQMclM2tCpBQ1XbqB2FilBH7svKgr4G4buPmlWUGZmDFF0kM8Xm0JiL6sbSdEiRBkG5qlhtaMuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfKPcRtJehOTgU5jh+h7g+jV2fl8F6Y3IzgFD3MX/Z/wIhAMhANYiwuFMSzgmqhkSmJbrF2uWnw3Tdn4JXkImNiy1Y"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.10.0.tgz_1508987115009_0.03545467299409211"},"directories":{}},"6.0.0-ut6.5":{"name":"ut-port-tcp","version":"6.0.0-ut6.5","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.23.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"7454cb43f6191849b060389f7cc57194087b2272","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.5","_shasum":"14871602ffa02b2158eb802d66ec2c9b74151012","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"14871602ffa02b2158eb802d66ec2c9b74151012","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.5.tgz","integrity":"sha512-W/fj5D39OiSgH9LDcXgZCCcUrTkfuLZuAV7AR/IwfgcGzA44EvLMh9SWOpDFPUNecKwzTrx5k8XBWQhVTxPSQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBhA9GjVQr7ZOzDuUKesxXtO56VgGAv+CRvXRYQmzw6sAiEA3vAVVA/G0sfE+AxrTdbauxAECvfXAzeLLKbJCDCC8Ko="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.5.tgz_1508988175191_0.5874653670471162"},"directories":{}},"5.11.0-rc-acapulco.0":{"name":"ut-port-tcp","version":"5.11.0-rc-acapulco.0","dependencies":{"lodash.assign":"4.2.0","reconnect-core":"1.3.0","through2":"2.0.3","ut-bitsyntax":"^6.0.7"},"devDependencies":{"ut-tools":"^5.13.5"},"peerDependencies":{"ut-bus":"^5.9.0"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"779eba9b9b20d79cecd76d0651c17e3b689e0f04","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@5.11.0-rc-acapulco.0","_shasum":"e1c2339ece4a74abd560da0c3e3086795906e03d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"e1c2339ece4a74abd560da0c3e3086795906e03d","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-5.11.0-rc-acapulco.0.tgz","integrity":"sha512-zudIa2hzYor2xCTp1e4cZBKboy8tVufw75r/QzG0i8x7MZfo9hTj7sRiiEKF4Mgdekx8y64A4VHnmpo1mqpkyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDupQPUyz+/EyrQmRoq7j3da+Q13volqrsIqoEt/vNi1gIhAPjPHO/k73RatB9fAZ3q9t5nwMYrSrhFBX6PLN3lNTDn"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-5.11.0-rc-acapulco.0.tgz_1509461699768_0.8893179164733738"},"directories":{}},"6.0.0-ut6.6":{"name":"ut-port-tcp","version":"6.0.0-ut6.6","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.29.14"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"d0b2e4f25be62eb1207c3b8da2b8ef4c5543cb00","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.6","_shasum":"137b51c019bad23d162906ac22c03f4327476e3d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"137b51c019bad23d162906ac22c03f4327476e3d","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.6.tgz","integrity":"sha512-PE/9dIvNhJ1CYMNUwOsWwtlKImyKM+KLC8axBDqHZp7/y0k9ze0bDWFSYuowMmlcj4rIs4w9xRLwksx4X4OO0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtA2hHOS7S1BITVB7UtKSis3ylHWu5Erb9R2PBeGzR5AiBrEFW5mZXFTVJI2l4JHr/e0fhZ944RybhxNy8oSGlvHQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.6.tgz_1510618464149_0.30519507685676217"},"directories":{}},"6.0.0-ut6.7":{"name":"ut-port-tcp","version":"6.0.0-ut6.7","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.29.14"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"f0346908959bc109ff32d0e17f0e3062ffa99442","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0-ut6.7","_shasum":"263b8b26358004c6ef29116b62cdd7b936da5719","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"263b8b26358004c6ef29116b62cdd7b936da5719","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0-ut6.7.tgz","integrity":"sha512-RBfW917Jd5gdy4XqIt6Fwkw5rmf1nnKC4f3K5j7xJuzYO/LwrWJivROTNCnjb8gMgyxopBc3Bm3amdlvEsUfnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwfG95vH4jbkmB5wr/DXJgdiVwCsh7SwYy3WvGiRr5TwIgCyG15gPnHUbjUtOnVaR7USALmN+0bweLdNQ8sN1HrFc="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0-ut6.7.tgz_1510982584611_0.07762980787083507"},"directories":{}},"6.0.0":{"name":"ut-port-tcp","version":"6.0.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.29.14"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"1c6224275a6cc9a799a76a30680700ee6e130627","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.0","_shasum":"f4cdc6d16545042c4bffeeee4f3a9498c3177724","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"f4cdc6d16545042c4bffeeee4f3a9498c3177724","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.0.tgz","integrity":"sha512-kPgPcJB66hylcix79E6nrC4eX0kGtO3Ry+fy+s633o9WVIm8jFADSrPOX/UoJR1rf7SF78wfjnsLun79vR9t2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxgMrEUpn38WLldqIVQKwnSqDVMYhQIy/SQuRzx04y0AIgZ0n8nPcNY8nMO7XxxsF5VKjQZGMsBWR03pMfQG13qUI="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.0.tgz_1512532370634_0.11306283576413989"},"directories":{}},"6.0.1":{"name":"ut-port-tcp","version":"6.0.1","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.29.14"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"26bbd0a045a1b0836e2105e120d77361c5a58e12","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.0.1","_shasum":"8c7c04b015fe352489b2bedf18cd53cb868b8005","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.5","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"8c7c04b015fe352489b2bedf18cd53cb868b8005","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.0.1.tgz","integrity":"sha512-/yvjXrNirEjDszUWvX8S++WQU7qFqnhwDx7WPulcrGmBNs4Qu+A4Ef19ABEHVd4LVCKUkVj98FbTL5h/k0Rx+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEpuViV7TNgmyYTra3p4xKwY2xNP816APVivDmTLWo0QIhANQC1ydH88cZ2L9Q/SA3DbajYq0+unDkrHCKSVSDKMth"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp-6.0.1.tgz_1513659117087_0.6199488914571702"},"directories":{}},"6.1.0-rc-einstein.0":{"name":"ut-port-tcp","version":"6.1.0-rc-einstein.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.29.14"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"a1da5bfb182ea66071fde4af2b2dd3d7b3ecf1fc","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.0-rc-einstein.0","_shasum":"175fd19d88b67289bba3b98d0a9c5aeecaf56284","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.3","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"175fd19d88b67289bba3b98d0a9c5aeecaf56284","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.0-rc-einstein.0.tgz","fileCount":20,"unpackedSize":57709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGix0CRA9TVsSAnZWagAAJ/4P/RytuIhZ8stXnmmF5QVd\nH1c63tElgqhxi/TdYkwFFMhtpCN1+n9ra4MZFjTM062ocCPcSeHgZRPgn+LN\n8aUQYBWQHUzF6iQvAAiRcctizzVzum+Y/F454Go/KnDjEh5GEVQYvpOkzcFx\nkxEdeMYy4nnG3R0WzOJJKZ0Nh4ZgVGgBGz20MKsfh9PSbAOKWoX194HEndPi\nlsWh4kLjQt+OGj3pcMUsYhagZizQsCz01OUwoKUpkTmVaaGLHFQtQE/xRIh8\nKhmUF7zdEXiecwMxHF8C1O7GBon5/6L3l4l3HRe88aSlRgbPPJbWPYsdjWVm\nmpr/RQDGbt96Q5EuI2yKC/DtNkB9/nf22hONrIgHODmux2KZkZPyzYBvxjFe\n/w570LEYcEEQvwlXF3gE6gJXpWZh3y+LsVXL5O+8Le3IrJiQTnDFYrxL69MF\nvcp5mbSVKzcCqeNBysbNGUIreOZvOE7BWsjM4wSPcEHfuhxxmxI4Jj5ldTHO\nw2Tq7ygv6tE5E6Nk4O8hA1c2UncmN9ij8KLY8g6o8ipOwUwBXO1d98QcZ698\nN5sHccw4KcuzeCzDSoe0dQdxwhv6xdMyNlt4Y1M/n954XrfSuxa7cp6piIsS\ne1oWRwrV3fsLfXthu1NVSoEOERSm7rKWRJImJMBw0/w1gQGcKbW8xF2Ep/C3\n0l/f\r\n=c7AH\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-NrjdezJbEY/CxiP0yVcZp1j7MVy+PkM7N1PsnOE81PbUQy+Byv4+GHcWQvL+dEqm4qth+ihtuU1b1OFAsaawkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHJ+JGarXP7TtXV6aDtcOcOm98nY5evpV9LFn4a2i7EAAiBM0UQA0OHZQodmGWH9+iXKHEXmLoWywEb5DoBnVBrpZQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.0-rc-einstein.0_1528441972414_0.11482632043826113"},"_hasShrinkwrap":false},"6.1.0":{"name":"ut-port-tcp","version":"6.1.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"8fc3ddca620f9d9ef4f67083ac143d558094c005","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.0","_shasum":"544c35f3f79a34231f72de84d4f0b5234930871a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.3","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"544c35f3f79a34231f72de84d4f0b5234930871a","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.0.tgz","fileCount":22,"unpackedSize":58642,"integrity":"sha512-1oQKwyNlHvABsya7Z5vnoqzYZGvsXuLWqo6MQVQYk6fpR2NGELa097IWzSHJlzZMFnIbJp3qqkSJCoAM0BZqGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG3u4nun+l28EjBWMMAgYSquVPoZuKaP4LHrMH0MCOy5AiAd7sZHPUQlvqehPf3W4SwYFtqUd4xoEcinD9gOr2tF2Q=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.0_1533216740177_0.7689561958829427"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.0":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"105e09734eefc564b2ae822eb052cf112e89cf17","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.0","_shasum":"ceb75283ad55b457b6f73c61dd96a6ddbebb83d6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.3","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"ceb75283ad55b457b6f73c61dd96a6ddbebb83d6","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.0.tgz","integrity":"sha512-MW8sJl/PKNYx907uWkH6YwyqLhyz7dqwK3uMS5xvHVSdbZ9gxOwj2nizw1fSg0bqrzdiDeoKu8wEVtk2rdd/FA==","fileCount":21,"unpackedSize":56349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs4o7CRA9TVsSAnZWagAAqXMP/Ri9JgGWBXyx9wMxIlOF\nmLjCDVAlRnYexPzcMLX9DKzJ7YL97XugaLqRWYHkn0y8iOJHvv0w43ncwH1T\n1yYumYy0o+pAz93aKsULNANEgLMNerBySou6eFwgsjb24Gr9Yy672xxiYJZ4\nhFgBwCHNQ30jbfs5dXTpUqhHwhCCN8VFmQ5O8BXZT+Mb5y1HTTk5pxKJsNkk\nIc/CoZbqTpsvoo+DmwGDCypq4+JdJoiKT4XtBSOPTzDoTjFgBt8LFAEzn1tP\nNWcDEWzi4Z6OSG9tXDnh7S0rAjsDUGq8K4Qby7GM+fbWe361fyqjQq82zIhR\n21CrpzZnf7Xin8IeOLL7Lvhqw/1k3opFaK4IMgxJLwampgMq745j8T9pc97u\nPQLmEL89iAb0pFO76OiVt32e0iXJx9MULB7ZfLeGXjmzmOvnn7l2OzUbtacX\nWjPofMxQMSLKMXFXnw1eeANNiRtrLjKPhmmmzHXHtcUbfIYhX/YQPA/ki/bB\nV/E16pEwqzTOA35hP5k5VsPYKe3jCTh7cRWHJN3PPE0W2UeZMM2mAfls15pm\n/asLDMaT414iW7Ltgpi/tgahT2oLLsd9MznBQx1S1en1chzeP3jBxbQztYwZ\nKndvs41aHYvNLbgeYSUki/N1efJs/QMj/ovNtxWI5eNrHodd0UbcFgmAqoFv\nS3qh\r\n=FE8A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICy9bOuPghyKg7jaKCUOh6r8jSUkatD0phGS+bwmgrg2AiBzhHkx42QV/5kIwj3PsFZEGcTg7UDgueSEweGmT+HLHg=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.0_1538492987285_0.24626333031740666"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.1":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.1","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"e527177b7c4afceed1e1de4b6df13eaa6992fa37","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.1","_shasum":"e707859a6da465c4e5d54510ce6c105b8f175174","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.12.3","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"shasum":"e707859a6da465c4e5d54510ce6c105b8f175174","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.1.tgz","integrity":"sha512-pOAmqROxYoTTR7/0AsR09n5BHABlbKT8Nhi/m/8rYt7AvuAqAXMyHUxrb5uI+1If1ObwhcW8kJ9LwNcl3SHITw==","fileCount":21,"unpackedSize":56319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvbbrCRA9TVsSAnZWagAAJ00QAIxIGuKOCnWBfgLpJc1T\neFBbslrVqm2NHZqnStHHcrI2q+uTcJLEztIVWFQxYm0I8fYe+asDFjpv/sZT\nJJakXVi/TO1rX0rZhVqMZ9Ckyu2ebrd+TKT4uLu3H4tml2HOX4fWM6bXTZl5\nphpUcalGwQwq49SyGufr9XZQRj0rAicmD1vMHSdNfoow4qdUw7NZwAmW+UGe\neiN0OJwxIxkN7n+dB46RijVumbnIH18bh79RK1c2amopt3cWOINdWhtFxXY8\nscbwxdYC2fTuphaPUftGe31nemsVp7zBqZ+XIQ0HRlzoiRCvv2silMujB1BF\nN8++0RDi4OQpKG2B63py92IRaqDfs6+HkBwUywsb4hOjjdidMr66ffEFSfWI\nb2TICz0XhyQXKVIBmuKUyvsyXwbp1E/ZN+CAwPRCcNqkBa7Uys0sSx/lfKi1\naOTXwCRuQB2WHjsHcg9T7jH9YaLN3l0GSwHoL26ztqFRKFLUrJoVwpopF2Vw\nAs/RPLgzcYg7CvjTcGoqaH4sErpQXBWaklZUFj2k9pw6ZvN1QpHQ1CiW5G/E\nVb8p/uw9LY9TScdNYhZzKibPB8tvgKy2E3us/GdfkrFVb6YbA9XPH2AHJC8t\nUEtbkHt3X8M036+4lBzjLwVBsCfBuAuS0yFiYWyyC2qBoWPQftXq2VNCb5Oo\nmlHD\r\n=oUFK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDlbt+nUrRgjXopj/9GN5zdjpZawwmYX1Sm/aWB2vRNkAiEAloHS3SJtuR3ieWb/vgddZw350wcnWO0aup1BJQ3eiJY="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.1_1539159786324_0.7538808238567707"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.2":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.2","dependencies":{"lodash.merge":"4.6.1","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"6c7b6b2e730b07ee152cd38dc6970cbc219b0b95","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-IOg9ozCNOOZNurMw4dZgzQtGrYlIAPhibp1oojj9RaD9qwvZMks9iC9vsQtmlBUiaU9ikK3yd7aLv1zUpy+TVg==","shasum":"d67b5de79dca17da67349cc924f7ea0a9e1744c7","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.2.tgz","fileCount":20,"unpackedSize":56289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0XiCCRA9TVsSAnZWagAArrEP/3YLLErLbod4JtNAkRoq\nnbeyTtmwjQdA0iabu1hAeoK4d0tI6dqBKJYmC+hJo64VR88hifvLHq5mf1/3\n+ycq8b3PqX3yseO0xF6+1lNcrrjfOqc/2Et+Mw09KTcneMI7OIPyN5igoXpd\neoKiKvGz10QEoOVhvYjjRJLRLsxcyCxYVA6UvcqbNL4FJpUGWX5vO5RUPbaA\nxMwXA6e8zxjiDZaMsAl1uELRJrCi4tKccWUBetduDwlCPxjSNFlUHaGASNHZ\naD5SnN16vmiGVcTkrhdaerphpdVCSOFA66ORGv1MQ4Rom0FjLPxtic7Tzn+2\nP0nCv4qYdjOi+dqFjs0zW8DsR+wd3JvEZafMxH/0hL8fpE/2PQc5DL95Rb83\nbCwzgmHeYFgVWATa08Q9aAqmQnq0HqEZlkQVgvbIHtpZoB7l/cvgKj/FLZhh\nrMIRUOgqVyau1ou8cjEoN7EcfkldjBpRqcDEuQHVRBQ7lZL4gMQe6amIZjop\n5pZb8hInpOKoYnrlGM3g+Q+PPUbCvi0BuqieTYeIVImOhhEelZEvpZTYdZPv\nfro6PV6vr3uM1u8L14mN3qt0ijDoytTyZPvxDtymSNIuu8/58k5Ee6JUzAnz\n33iakYOG/NVifK3V0px33SN2BcRsksPYL5Hp/hlmMim+V+Kzgpqy9r7Lz6a0\n7Ho3\r\n=KuEs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxkMVH1X4EIfiBmRhENhE6zRGAe+VIfZnlIBUBfInd2wIgAR+okBip8dL8Fgwk4EtjtAHMgne0EMYgTPzVHV+0ZOA="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.2_1540454529697_0.9403447525595277"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.3":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.3","dependencies":{"lodash.merge":"4.6.1","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"d1d363d41decf6a2f2d6f037d657733222b7e8e4","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-fOoNQBrNGx+0RAfrqSTOKOr3Ne6qwurdRWkXRlYZeem1zFxBQnsZu3kWkOICg67k8Hf15IE1MFSMbflOZXWiSw==","shasum":"e7724cc3a7d559884767ddf7a2c7ccd400148699","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.3.tgz","fileCount":20,"unpackedSize":56613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBwd7CRA9TVsSAnZWagAACLYP/RhghZKj0bATrL1708I9\nRPk/rvzqYtJL6m3fkciJZN8WZE/f8wYueB5XDaXzG3uH9wBfEZ9/Y7LJAX1A\n8qkcPE2nh+UCUpEKYOT+Xf7pOhp1u2PLhSr0xiSbFkZi6o8AVpbqpEVAO0Ru\nvKdg1HtN4pq82cl+mlD3zo8XFrAMrGD/VQ2NbWtEG8xgIW3/LZr2C7rGHjN9\nssSXlnLpl3aYMPtJANI68Wt3BzBGxrpimB8W24KGW9SPZw/brheEv+Wzwhsv\nzuqZhr3OYEj3+s2EEk6cJ5h+Me3kDzuiPDSHQlsBJ/fkdYzx0epBQsKxXU3g\n/giXO8woCVKzqNht/LfjCd4xi92ReaLn1Ln13z/9OMeYX5ZiG7iWSzylw1lk\nSSgEKuxp+amXYjWTyrxDYWeZGSHpGktWT5k+/iXBfASCWVqtwzpw5nz6sGYs\nFdUMyfWjRdvUHxwianpQ1/Vzvx5knMNkyn1WHSSfbc3V0/Zxmh7GdTo2kCMf\neqIOhXKEcrMAn/dkyVDkYfyIx+166pKgGDXyA1TOrf3l4gmo7vVH1s8gkCuI\nvY7t6uVW23FfO1kLX8KwERE7QTkCmosoQmc9QpHcTdq+eysLJo7QQJNAStIl\nuyubnB74kCiYzQ6BVZ6325xi+aTrNNfJ/bdJxDmMPFaFgNqbyDgRtDn7evPt\nO71X\r\n=qx2P\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH6vwcExpyB5VysXGOtHVcgtv38Ez2CGq0OcHrpxuRuKAiA418s5DOMWAepQE/IMxhcEeBGvu4fKwPO4HHD2CyvN7A=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.3_1543964538778_0.8146563946997345"},"_hasShrinkwrap":false},"6.1.1-accu.0":{"name":"ut-port-tcp","version":"6.1.1-accu.0","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        // TCP port can open multiple connections\n        // host and port properties are implicitly prepended in this array\n        connections: [{host: '', port: ''}],\n        // When using multiple connections this can help routing the messages\n        // config-order: TCP port iterates the 'connections' array starting from the first element and selects the first open connection\n        // round-robin: TCP port iterates the 'connections' array starting from the connection after the last used and selects the first open.\n        routingMethod: 'config-order|round-robin',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg, $meta) {\n            $meta.mtid = 'response';\n            $meta.trace = msg.sequence;\n            $meta.callback = tracer[msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg, $meta) {\n            $meta.mtid = 'request';\n            $meta.trace = sequence++;\n            tracer[sequence] = {\n                callback: $meta.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"f722e512b1c9270cdf45e8227b77045c20f34faf","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.1-accu.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-myyshrhuya5YoDc5bSnYGCujrRTr8JHfKgJCGDsSoL7vPbs8mLjLTX7YahQlJPkD46J8UAGaDJto5bFx/YP/sQ==","shasum":"b71d8088109988e50310ec7b2fe1b37d9a959d7b","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.1-accu.0.tgz","fileCount":23,"unpackedSize":57897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQepCRA9TVsSAnZWagAAxykQAItQ20TOHV7BcpBz1nmN\n5vkH21lvXVu09hQJXggMZtpTIADO9Ax1nft6BcsTqdrNQM4KCR6blcKKHcjI\nJT9qMpekjlv6ID32pAVtzJciFn7Z1FblWKkap4M6g1do1NRjFxNF2QARIDFP\nN9XDiNBd1DYWY639FTznrNYWqCZeeb9yoZT6VsZdXrxIKj9mwoQMEAHvTV5r\nOdQmtpr0ah5sq1TsKSjy1GGCEN5IHV7QCv6LAjgy1MzaDTARXMY91aWIaWFb\npAtQFSe35fIoIMc7KbOt1+CplVTKs5pm2N/rz1OGFjjHCFBQkELO6B9cvzZB\nmOwPzeoUBlL44QNYA7RFY4QaLDyFZpuEPcFy6jakcgIQA/YzAWU+VUNTLRX2\npnucSjhtESG62MJbbNbETSDk9uScdS8CPub7Hmbvy4V6vLutVX2EzmEPLKLt\nETFOvJ6Wz1oQnEuH/LwCwkt6XTmxvfXTh6Qr0l9ezwANSJWZfDI9hQU6tqwY\nFajG7nUrHJ//PQqmEBCOuqVmfWCcSBw6uEgJHL5ghDtIVoQXs64SWEO3SZe+\ngKxAxS09RC+qGEYZo0ee7iQeNCk1IB+Fbk2OO3MW8fruBr+ZYgHQLVbqjtsi\nwYJtqjPne2UCxO2hfpc2GwViKmSEcXB0HiCnktwh9xA7AIuZu/cg3XzvSyWw\nCgsC\r\n=3AVk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0u+uwiU0spWiRrhScUvQoFEGOe7N4pJpgUgS3KsgFSQIhALWddwlFgFR3ONP0VihgZzKMhB6ccLtqT6G28i+yyz4c"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.1-accu.0_1545144232936_0.8592259890606713"},"_hasShrinkwrap":false},"6.1.1-accu.1":{"name":"ut-port-tcp","version":"6.1.1-accu.1","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        // TCP port can open multiple connections\n        // host and port properties are implicitly prepended in this array\n        connections: [{host: '', port: ''}],\n        // When using multiple connections this can help routing the messages\n        // config-order: TCP port iterates the 'connections' array starting from the first element and selects the first open connection\n        // round-robin: TCP port iterates the 'connections' array starting from the connection after the last used and selects the first open.\n        routingMethod: 'config-order|round-robin',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg, $meta) {\n            $meta.mtid = 'response';\n            $meta.trace = msg.sequence;\n            $meta.callback = tracer[msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg, $meta) {\n            $meta.mtid = 'request';\n            $meta.trace = sequence++;\n            tracer[sequence] = {\n                callback: $meta.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```\n","readmeFilename":"README.md","gitHead":"98b8c8e1ff4b034175041b444d7482bf8c000afe","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.1-accu.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-nPXZRF1+CAM49eYtLVyV/FJyUmHfArJQNuWjEllicfjCqX2A/i1PAqxUonOTe7nDfeueAta6YPX+b9ozhOrGxQ==","shasum":"78d2d98fbebc314442b9868f2bde5df89b3a81a5","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.1-accu.1.tgz","fileCount":23,"unpackedSize":57922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGcnzCRA9TVsSAnZWagAAL3wP/RIknTq/qX9Dwdsy3wes\nQ/R9zxNZFv1HADYhMeTvAdXRJkG7JiAmW69sApUnBSvDwlaWhjOp5e2OgkHs\nI3TQdCwlGmXMW+8VjHmZxm44PnXQUpTm6H0pMhd9KXSUhDnbT5L1xuvIFbdB\nxEhqGFMI0vn2YNBeacoeHCQICjFrhYbTEia6z68rQRGMugnqQwxrGxX+FvQl\n5/fS9gu7yxY+tnQ4lV+FD/fdvgBHQ7W6CCWJOyFLPnef41XC1orPLBBYg09O\naQhnV4vfBuJ7auiNTZ/849QIxQzJ0Qnlr/k8VruklV8yRhn4Pk8PSkdq/rc7\ngq2D/AuK+yMOWTFrIlGBlENgMdm1GahMiIiAjANYniGg+anIiInj8KztZRxb\n9oD0UlzIiistXV/bKCcGpMpvSZsCC6MHy8LK2psAn4sH9q1yUUNCBqoc/rmc\neFkwNOhtZ05ePBByk1dcwLcrLUQX/Gi5pGMHNemLoW9ujWQboVywdePaamBQ\nGZ151UfS+mnvhvVpsVFCgIKX/DtnBduHlm5FzUo9200w5iV36m8bZ/cGkw0G\nklM1RiD0wSiPhAZnlItVDzv9m5prpZPyAFw280tD8IecIXUZRrIgqxO578EE\n5ixyV0jzEe3XAfDKJkoQV9U28E6zyb6mj/ONzbOIb0MGyEWkKwocEHjK5CBF\nQ2gi\r\n=dvnj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAk3AflR744nQZQYBAG8yo8kaN2kQ71LXWK5kvvEG2VHAiBImhlwMprUdgr1G5gMfhztI9voMW/mCqyBAclitjYvkg=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.1-accu.1_1545193970903_0.6113790408701372"},"_hasShrinkwrap":false},"6.1.1-accu.2":{"name":"ut-port-tcp","version":"6.1.1-accu.2","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        // TCP port can open multiple connections\n        // host and port properties are implicitly prepended in this array\n        connections: [{host: '', port: ''}],\n        // When using multiple connections this can help routing the messages\n        // config-order: TCP port iterates the 'connections' array starting from the first element and selects the first open connection\n        // round-robin: TCP port iterates the 'connections' array starting from the connection after the last used and selects the first open.\n        routingMethod: 'config-order|round-robin',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg, $meta) {\n            $meta.mtid = 'response';\n            $meta.trace = msg.sequence;\n            $meta.callback = tracer[msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg, $meta) {\n            $meta.mtid = 'request';\n            $meta.trace = sequence++;\n            tracer[sequence] = {\n                callback: $meta.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```\n","readmeFilename":"README.md","gitHead":"f05d911d0602481d27883c9e666bae192a71cdb3","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.1-accu.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-BZ7SDsQmGKLymCQ9VP+Pqpe39leSozGhrSidX4uucHK8sici3y9zKGA+unLD4yt0ogtbKOzr2ITgJjsqjnhsaA==","shasum":"507158a28a238e09b8031034e6593a5bdf759446","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.1-accu.2.tgz","fileCount":23,"unpackedSize":58013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG5ehCRA9TVsSAnZWagAAyxYP/igXSpBXnRGtQb0dI6XI\nVaI+WMzFX95GpToh/IQHGNUW/HqFXVqStReyUll7OXFNPFTteIzYzfYCvSG1\nsuiSBbeB+lrVk6Bsr4lSy10ipe+mifnWj40dU5TDT3yBWfbaGe5NKibZMbIB\no+MmFlJ6V4aqglK2AHizgqnejAgvJZxt867L8dR3hFfsjKJne+p332FL+Oj5\ntzyfkxkn6UlScAHsbRNDkIvSM1GRBxsnuuY7y3Uk8RzO1kA89b8UlYuEjGyL\nxXvqa4bLrNqj9HNh2w+dVbipG1YqssGn89vhxjTDujVq46pRgjAEL3EQ6XQz\nSy01ppV37tlSEG6tb6XiydQ1QXw1HROXieu0WOhp0FA7rMVJkstDbN7ng6DU\nH4yM+CjkcPLAeivkx5tTth/lUmJx3/1kR1DqEMJDvuFwQtiNPaATofM9/7qA\n+auttGO3glv8jgl0qQH29LKZDByr9BZu1GfvG1hnNBNa+uYUH2ErxZYBCoBW\nf0LTfpaZ9t2T5mwcNEEAGfQVw8igv8P4Us3dru2nHJttP5nOF6pKe368W1y3\nJl2Z7WfwNabkc1reD2buLbZQidzVAzpbJcHomC/ETcFM6iyIaDMy68AC/oNY\nxo872eZyQRvX+qOBH3bamQEo3QimratNVbQwrW73GQAqLlTD0e1di5tAjw0D\nQ0sq\r\n=vTt/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5dJ10seVtoPaBD07C8eLr69aaTaNDDXuDnsif6gin5gIhAN7iR3bLp5r3kwh+hDj15LaB39YfioaC9+NxAWi2ckJU"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.1-accu.2_1545312160404_0.4373956244217667"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.4":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.4","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"2cb15e769e1a310f417ad30b4542107432f2840e","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.4","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-3SW+VRRXSNYegrPblLodztyvUY4Vw8mpzgt825j/iux2IWHI0ZFv80cCQH8Bf3GYr3AyZqxGkSFus8hSYwGIrg==","shasum":"3023b34b08d51c57ea0af5d42ec6b1a49ac8acad","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.4.tgz","fileCount":20,"unpackedSize":56584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJjsoCRA9TVsSAnZWagAAVy4P/jw784/YoLzSaKAvjCJy\nW6IO8dz2sEpI8346gf60dY3zwX++YaVU82suzkR/LPle0JpH1pgE0wCOryTS\nWujnwgpQCBjtrE9TelmAYLyJnPX66IoVgRajsGYzOBuIWyWyNyjv5Bt/e7Bf\nv1pwZUbPa/kbjkgcpkZG/7ZWdb6LeiayPGlnWntUaQc6HAB3KoUYVOOPoSgy\nAaHZ6qB1RYvHbTJCtn0rJ9/wlISVNgfWihXlVFv5MufI+9M16xOPoSyXfiAO\nnCjhyZbzeLcdKM1RRGCQ102UJguJfDRj7/jOIxtMs8d30P4saCgxoNl0l3T+\neRJnLD26rg0X1zjG8wq62Pzhy8yPJC5GaNdDjIts1Up+2AFXdK23nxsEu8UF\nDXDd6xr3/K0Ie4z+xDhNbEidgHJ6LjmiMXF/81qB9vG13k6u0pcvY82znuo6\nv903XkLmcSBuzfJS/stYMFhn1wLriBD7yknbKvuvQzBxf7+yFdRlvU14gYW/\njl7ahfBt3kTZekB07IoFK9197C/fLhyrOXyecQRl/WOTR7PmWDDRzF4szCCY\nyX0j1j49Dl2zOx0O48YS+F55YOZFcQovgFyhsIt0k5Xq7V+onHPLVv2PifIb\nno+adVbZP3iatciGvH+nmVishmZ0HCjrF0wRHDa1jU9HsI9yrw4brOZlaFWG\n7eTY\r\n=yLIc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQF0DoH7wXZ3EZKKeT9Yu2uvkAB7q40ToWKD50hWP2zwIhAPdeTLUGwTvQRe5Hnu44GwUO3EadsczxbPhx3ihd6ukk"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.4_1546009384076_0.027729560688812827"},"_hasShrinkwrap":false},"6.2.0-rc-godfather.5":{"name":"ut-port-tcp","version":"6.2.0-rc-godfather.5","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```","readmeFilename":"README.md","gitHead":"a16af2d86149d531724b81ceffae1eb0e2c0244b","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.2.0-rc-godfather.5","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-z4METrnLkxDEfMDomZ8Zh5DOeAlmn3DGz+1Lx3zthHtFZu4nyfCtLggK8u/Pr1vFYmufaCfiui2vCdxjbkAanA==","shasum":"7fd393afc36bcbd623f34aa8ec01c025326625a6","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.2.0-rc-godfather.5.tgz","fileCount":20,"unpackedSize":56550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQcdsCRA9TVsSAnZWagAAdhEP/3mRl6zSKE3W8s10H/ix\ng2eeov1VykNNktl8pGH9ZsPmCeqxW2/kmeKCdYXUQPm4kmp17zFU8i7isb1F\ngopxHNOUdGirONx8XUpxEVqmjlb9Ie5jgbLlk2FdODUxyh5+3JJjFUU0f85Y\nKJiXI82XvLar5Tgn8AdR/AIX2ne+Mie4zqDIo+QKZfKtu8W0dxrNjw4cX/Yw\nEWNjOaUhZ6/0vCO0/n3dtFKceISqVDrBivn3SN8NwyKqTxjHstZc2yKCsUfw\nvOIV7UkmuQPXdP/gUxR3aUeVPcydSTT//Z039nd7OuMgDO+VHwpAz8Hj4C+z\nzXAQ3lx//fVsYXwSkDnnqmitmSf2iDEYmFXnnHjAdmckCm/csJoNqvp67aCA\nzN4EICf5rBWpxPBI1PUGxGcnYBjFKoF7jQ34r4+OX8U7h22ysNUcP2HN5vPD\nSF8qTbzB+pKbdTd7bfF+ywtYY5GhMxGG+5GRXNq5BbsOAfRnHR79P1Qmf+7x\ndQegVFcBlR95KjVeZtcQd+qiAjUJPYPwEiPyIN3I/kBFssEgBks6QAe6J0QG\nJ2u9HeL5SFUmziw4yNtzdMKrIbKYG/qdwI1r6N+q+GQpOTlhHIjoLlUfrnuB\n/kXw7quXrmwZRGjGaRDlCYnVb528JROZI2driVfiTzNMExfRIs8q7W1uDFDx\n2Div\r\n=CeFn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDgIN+vBFjSHE4VdWc0qLpjHGMFgRHqRxdY4xU8+IeNAiATgVTIRPNBaA32Mdc3Gx/OOOkpNtTTvpwtsqbA081MBA=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.2.0-rc-godfather.5_1547814763656_0.940460199506433"},"_hasShrinkwrap":false},"7.0.0":{"name":"ut-port-tcp","version":"7.0.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"0f2f05c7fa7e667142ef872ef21c4c51918be1c1","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-ceyat1CDGkrGgjWPVDmHeAdAAfQaG/ApvLcJWhE8kwrMH9QToZsGj5j8GFw+zgwOVk85/2rWu0FIyCTpyZkHWg==","shasum":"687a8da0cf361a804b4d75dfd421b2d9a7726069","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.0.0.tgz","fileCount":23,"unpackedSize":60923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVYkgCRA9TVsSAnZWagAA6N4P/19qgg3u5X1LTeTspON3\nvbphLmZPCdvr6AvHSV3qgtInlZXeF+lOHbDmx9RbrURoWCMrTQmMETOFcmhF\nxvWQNHULIlhsWNE9kW1XdifekvnbtvewlTI5ozzW3CquKbJsnPc/1UymdD0M\nwzWoL5nkmNQC8f1A/iLsW9NT5BRP5pW1gEuC0+qsZ2JQ6RVB5vxVWlQruXHx\n7NpOvlu0NWQyPoDepE4/VER8RCLYYX4IRZa8sNuvNH60pOuBY/odKNUqOz16\nECujDBdqJp1A/7G/y3zJbY/bxNbwfDebSf3JKsUMQYbuO7qGo2HW9D5/B+Eb\nikcaoNQf7hCNo7YYPrJIt/7pSFYRpK04GQDfyWGDPghg3gBPdmZNq88XwMpw\nTL24x5XGKSzDlyooWwh+siKI+UdHohYCXcaaFXYShoiYxKm7INg0CNks5yHB\n5AUA/+JaJTLEHIOGBnjtmh+3qZd955X8Te7qGrQ4BjKVgtXtVprIeIFKNGTB\nS+xHtuTaS1WV+aS1WtoYZzaYYrT4ViVtgYs1ZQlf+BKjGSvTSwtQkiijOVUn\nCAbSnyY/SyUa2LKMnWMHYAOxsuzYvBsV6w5w1TX9HyIbQxtM7JqrI2SHSP0X\ngQGYcfpEbQzz8JFj+oEzNvFY8hz8PBi+llZZ3PHsXUPK6BB0qRQtB4wkjYE4\nZHcw\r\n=PHnZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbtFJTCk/A4lmu1SAzKItxp23PRydgb+Y4t94P7rpVmAiAH+HITsLEOTnvC1ZZTIzGtqjtlDcj3knDlm+eKi7aiqQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.0.0_1549109536354_0.5864309064231403"},"_hasShrinkwrap":false},"6.1.1-accu.3":{"name":"ut-port-tcp","version":"6.1.1-accu.3","dependencies":{"lodash.merge":"4.6.0","reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.15"},"devDependencies":{"ut-tools":"^5.32.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network locations or to represent a TCP server itself.\nIt can be configured for standard socket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        // TCP port can open multiple connections\n        // host and port properties are implicitly prepended in this array\n        connections: [{host: '', port: ''}],\n        // When using multiple connections this can help routing the messages\n        // config-order: TCP port iterates the 'connections' array starting from the first element and selects the first open connection\n        // round-robin: TCP port iterates the 'connections' array starting from the connection after the last used and selects the first open.\n        routingMethod: 'config-order|round-robin',\n        listen: false,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        socketTimeOut: 10000,//how much time to wait without communication until closing connection, defaults to \"forever\"\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        maxConnections: Infinity, // Maximum allowed connections, if the limit is exceeded the server will drop connections\n        connectionDropPolicy: 'oldest', // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            sizeAdjust: 4 //this us used especially in smpp port where message size is telling the total size of the message (header message length + actual message) not only length of the message itself\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full path to the module should look like this:\n\n    /impl-<NAME>/ports/t24/index.js\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus` determines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is started and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the example above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote location (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote location. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to \"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to this problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg, $meta) {\n            $meta.mtid = 'response';\n            $meta.trace = msg.sequence;\n            $meta.callback = tracer[msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg, $meta) {\n            $meta.mtid = 'request';\n            $meta.trace = sequence++;\n            tracer[sequence] = {\n                callback: $meta.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port will persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique sequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen mode lots of clients can connect, because its is hard to tell which message to whom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed description follows\n\n```javascript\nconnRouter: function(queues) {//queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```\n","readmeFilename":"README.md","gitHead":"efafffd561e2567cdb515b4d819d813ecff5edf1","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@6.1.1-accu.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-ip1SnsKHHeQJKRFrCvfkkvmp1XyKICLmJmgeq4tqQZc0z6dNQw3ZKKxKboxyGoIDdQ5VhvS3oAJDvDmUBuw3kg==","shasum":"109e9c78de01969954fd827c2a05f0a6febb2826","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-6.1.1-accu.3.tgz","fileCount":23,"unpackedSize":58031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceA9qCRA9TVsSAnZWagAA5vQP/iDRnJBRIgU7K0T24cx1\nuYdf5v8KHggn/53uORWQ3zP6Rg1DLIvPdMOm4KrsNpylc1AfDM3TPfncBbbV\nijZjWb1IDIBIzT+lqFLnN2kl0T7lAqASUP5Wp5+IuhbsjTrfju/JlmrOD2wp\nD/kuyu+laLinU+hdyB6fbkRr6hyjq04owszzXTKfZU4GmgWKEi9zVof8JpHy\nQ7tibJKTVb2P6aapCv8q/9Pp4nVjm3s73YN++p3/R2eV0M96bHqg0VuOStSd\npXDwVuhZXkxajRM9rwlNgep5EWn8BHfNnz6vV7RMtd8N1salx0R39pP0wHz1\nLuENdCon4mX4XpIV1uuckTfxESRoh8RpBby9ez/8eSBfQk8HVMa+Tj6lFo0b\nDpi5YgGOA7wyMWtgXM84koHaP+vPoEHNxd8XcYqrbShUGZcaW13vS5viMw/d\nnlpNMelqApawjAeGFYgVhd7KI+UfgL+rQQK3Qz+x+1XJ0e+p9o1TU1EkQvSg\nQhOe1u+aoHOkYSTiXuQdbrY5qFl8AD+UJThYCphxQUzSWADOVyQCBEyjvUMx\nh8DHzzwAWLhwpMXCGFQE4oYgQRkh1UhcGerO3eSTSBkKxVFRZn1RB3tfdILC\ntc/tPF2F96j66yEIPcFLYUwvdvNVpPQ0suUIGvHMhArSJcPQNscxI3iYgfGH\nFeYG\r\n=y4LX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSg8zTa2GasNb9+QL2Y08j6H/xVx1ULn937FVAVpExhAIhALqddQPBsNF/yn3LjyKiux07CmQBk5+rFx67aLKkno5h"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_6.1.1-accu.3_1551372137742_0.45222417231560197"},"_hasShrinkwrap":false},"7.0.1":{"name":"ut-port-tcp","version":"7.0.1","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"fd15d3f268707301cb200b18943fdfa1fd370cb5","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-YFkDOC3aGBDQzjmTObYUyszwWtyvAr+7Gn6EKnfXJMaf5wY/fiFWHLoWDH4BMB/PMjENH27H6na6grnoZQR+gA==","shasum":"f26b13ba17f9a166e4a94e1fa6023b1b0537e5c1","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.0.1.tgz","fileCount":23,"unpackedSize":60846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclJG4CRA9TVsSAnZWagAAZOMP/0v7GvVBaiqKVG3T3x6/\n4ZBlr1MVKKTMD/K1BxciGu/kXRO2zZIZbzLRVTAjM4+5kjxP4+9kXkTLf/PN\nTiy4CkExuYzWdtZHeXqT8oZpbqtaw22us2vlpAVnsbR7DdPXfzvX61+Gd4gV\nwNoKS6t9Bc65iWoTwNXhT6F8x48eQN1qxcnNg2uTT9GjEqLQ6xWZKLNUkeAu\nqGWoX1Ei/91ylRFN7QuaWRa+FQ3c60jvVTOqLubNYjzoeJNjgG3aWkIt24kG\nMJF8c3lOxQePiHmMoZZ8nJaAVM9KhJMCm6Q3B7l8ul49li4LzPRzbK3mg0qI\n5e7R5usxl8BmLjwEfxBP+fQ9HnsRl4FTeYNgpblb6yC0M9NL+OKqWvBV6hTW\nA1IEzgefjBWmQBE6UvbWOZnFFVZy/P3C+wr/migKG9bF9UA/IQBRiNW8ElVs\nE738jXRf+aIhLoWniyFpxRenCrfscg2lyubcskSs/z/GWGPX1cR2Yt/D/kjB\nfcaRl6+QvMoAv322QS7dvAZMhe/rm2HooYs4jqauly/SkaMvZS9/iIFv5td6\nEYq5ZyNLx8WOtlWACjbNyo+XoQWpWvS2mmF7Edp66h5gJGo/6qgaZX3tR7Xg\naC/5FRweZjxiGawRGF2Y0bCOxcWcGvLbVuaVpNHlnnse81/fbFivGNUw0UcB\nmS9M\r\n=CErA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGNEh1A+hKpiHE5dvGaFCif1s32AdyMz4YaFMZJEL/PAiB47iaDH2cUlohRM6jA93nGkCiCpsFXhZkQApBB3HVnlg=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.0.1_1553240504105_0.4073478585989416"},"_hasShrinkwrap":false},"7.0.2":{"name":"ut-port-tcp","version":"7.0.2","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"d04ce45220c47e4bfb4d68c865708158b4e1c577","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.0.2","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-NvhfJzmZXSHDKcltYaSvVdETrVgq+a0USYevenkOqZZ5qhi2cy/i/HNCW4guqS9SFf+yVzNQFoOrMVKKRApkfQ==","shasum":"b83d33bb4fe053aa427d667367ba0955025e4bf3","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.0.2.tgz","fileCount":25,"unpackedSize":61863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlJZXCRA9TVsSAnZWagAAP34P/izQFFX73HPtWweg0epG\nQ1sXmjCX7gzxgyazWkjGUneZyod0GaZUPK9Z//qrhGD7Y/FLC5zk3ID8fZS7\ndmHTqDT8m23RMGK8/vwAgIEJxcgfDVzd3z1aypi7k+U7xsrUZhM8enh5/Rjb\nbK4A79LAAR8v8oLUjblZt0lvTtb1cvUzk/O38mbMZfqZvA/J2A/gSkbRBgjX\nYPGiz0QbXhDPGAvBZ68OqnpdnK/5R1IHKIMjq8bBfjbs32xMmidxFbdPgLR8\nZNPEPt36HI8k5QI7n6wrIeqc8/63HYRZ3gDWW5Ku4cPqKahVGq7a5WiWNBVE\nMAa6tQS7yNa74Fbnk+SsjM62AQ2e7qVrRqiomClZlgZoD0mZbagBo5r0fWaP\nVDuQwtPyWPShD+/+nHlEUGjjwTHw3CJp44MNgrFDfnEmTgiJowweJU3x2FcB\nKWlTbMwsEacK+JGKMJxSFGsKsMcSlQe1RuJHJv+CX0heHc+BWkxF93gUbnq/\n1/uTrBiMgC72vA8J8whcYxrg510aCyTDj6PiQ+poWV0hQ346rW9sUyzAZHql\nw1jNJp5cmylA+LG/vaLf5a2GCnkHpaPHEThnIt6ntG8RvlNMd73GBSYZsw3M\ncmr04NlR9kN8/WOr2acbzrL4myECwl2k9/DrnHLnx6j/MT3AQWZOZSnB3wfi\nK7i8\r\n=J6LV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6+KJGhhIgGOvPEnBlHeAka+YBvAzIFy15qD9mpvfnBQIhAOO7kmwpbppL1TGs3HnhnUvkHODcid4yzbNdd+WzEmr0"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.0.2_1570018900849_0.6595439958685767"},"_hasShrinkwrap":false},"7.0.3":{"name":"ut-port-tcp","version":"7.0.3","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"51fcc8eace4ec1066ab4baa218e3b18fd09a736e","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.0.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-lETipNt5DO1rL13yiJCQjDJDTqjSiMzlUxK+m9kjaqvmgeJBzZNXRXU3y5eixK/aRuTYx2f+ioo6vtIorIEJAg==","shasum":"5775e7591f6675c6204361c6c4aaad74e61f28a1","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.0.3.tgz","fileCount":25,"unpackedSize":62089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpDu+CRA9TVsSAnZWagAAFn8P/AvcaXu3R/gBY1N76p+t\nxQmniNRc3IX/Ru6xxexGzQbor5Lq2/lQNZwLu0yIqFhsbBeWnzodUHS+5ikR\nNGt2D5ol5lSvYEd8mGiXKFgIKXqszxCTtGSBbo7BcI8ku4PsQ4jw+KM49T8R\njhz5is6tm48rujflH5EhoYwTkYiI3nYhjIUBitxW2s0tUdKUd0MOuqYPhuV6\nrwFJDKnTSuPyWLTippb1ZPCTAAIcJE5lWRQwnHcF0c4Y0Q9cJbRpQ+hgliH2\nG/QD97FuBHSFmGa8CIMCZ0HNJxPCSrqJodhqQ57Y9AuouVwRPmL+C1jcc+w7\nGsHAP62jN/jWmMeTTRMgIotnJzkAOrOSsO9aKd6J6Nj5epnANRpwdw8d7Exa\nvUNXDVWGpsuxWOoJDUDIqCpMp1C4Dy4gIwC3xAnY80hYAvuE33rl0DdBV7Os\nXqYLd7KmD+kQ2/hWsk+bI5yrxSGwF3kkv/3oSv2fuSn1JSLB6I4xYOQuhmAk\nSEEWuyZVvuYSP44/F7Jdyd967I+RwmK9jHOvdd0Zf9IDX64Opd/BRtY9Jz7w\nB0J9Ob7QTx77R6NUeHDvVs5vg6qUBjF0Wsg9qdj1H9KuIkYs5PqcOSERRrSU\nLj4OfhYgnbCqLZCPW4Q3CSvMUtLJkGb3OjtxaLPkaW7NiH/uanZLOM1aebNq\np8v0\r\n=ojtn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6JaHPrpP5d9kq4HWKavlV1iFczBTA8/uvkpSEwmm6pAIgB8DsmUfOEnCd6oRE82DhzXFXQNrvEcgGS5AmQ+DYaok="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.0.3_1571044285650_0.6410735729499701"},"_hasShrinkwrap":false},"7.1.0":{"name":"ut-port-tcp","version":"7.1.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"9dc697a7ccf30601b0dbccc3d4740618e3217558","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.2","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-OsQVm+fvWTpgmC7HtmLp1lqPt9Pwyhlr73yQUvqoADn3vRQluDhVah7IvGbbqopkCl4E2bHPknKOVtTPeP1Mew==","shasum":"714f8c7f7d05c11a8cdbfd039e1c42744660ee8c","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.1.0.tgz","fileCount":25,"unpackedSize":62458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6mY5CRA9TVsSAnZWagAASi4P/0vqVRTF2r8aHPdLePg8\nqUjnGpUFPImgG42IbtoTypP30IKwyL1jOrroiEIqph3uFMrFQb5vCbDEIyAp\ncPpIVmcns3XBIJIBLs8T+Ewni1/kknO273Y6VV61sCO2Xv61sI8X+f2MXQlm\nq9/INhnk/rg4lIZ62r4d4cyDBF7xeGs2TNMDXgLLzJH753vrlhlQklFwcgyO\neE1BfmdUT88ZQhOtB+ijHNQNRJ11pmrvFrA4a9hoS2kwteBwyCFKTc63LTC7\nHfzCZn8iQIL1VRZb4p0SYFG2fbCdgbPk1hbelSQTRBSYa8fq/XWTYKzEW8RN\nrUVIcexHFXS8z7b3PZ+YY5uHftwyIJbl/C4VH8pGfM17/QvlJAayg4JfNFrz\nM4Wq42oUy/tdvlMeM/DmLPePON/khu65vo2BGTu/r27CBB5rbyPLx42byyMU\nwbT+KlsIy73IbbgFj+ACHd5U1fd50tV22Q9HDQ1x72vbAnvHnPYy6MD7wF3u\nWxcNUp9Z/ritk6PdAIolJCmH7B0cQFX9+y1VcFD5g7Yno++I580K58U6gdYi\nENQ9XTez2HCoWG5tVEZ1eOWksnJ06YxpxORcqx5Bt/65BUQogBV+ABn6WMjl\nBQOcxKPnxBOCD/JS6Y8NBlykRFK1w10gMvNUNH+7X+mjUqQ+RRJdVwPvomVS\nAAhS\r\n=AF4f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChlCvY8Yuk/45p5BeZxYOm2Y7O33hxD9udHdL/7rpvHwIhAIksbBtaKKIaLzSu20Oq6GoZYk3nkQvQGuwLCCT7T1Y3"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.1.0_1575642681088_0.6915670877850115"},"_hasShrinkwrap":false},"7.2.0":{"name":"ut-port-tcp","version":"7.2.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"aacf324e2f74279100a573b97514427af09c24ce","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.2.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.2","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-B75LJuK9LdYBW5VH1m87OR5huB+Jc3epDbDmCW0pLmsAeCSJYydHoPoS5M/Cy+2nz4XNCC/0Hj3aeJ9c7OVCQw==","shasum":"5e9cb3d673374a33727e720fb60bef90a8ed121d","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.2.0.tgz","fileCount":17,"unpackedSize":28450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHyuaCRA9TVsSAnZWagAAedMP/RXj5wolo9WgdrLJTAZ9\nDfRGCBjI0VZk4Ivie1380dY3V/fs/hoCgrMUWyHpSQ/2BzfGjU81aCLnRpnm\nMoXiXvB1r1jGLz1cQq4fSP15qn9DG0TXUaBM+Gr4REQ9uiyzh5JnrmAcEszR\nbHtVR91VEXb3wWc6bzUsDiEK/YRB/U+BaPVHJM1krA4YzawsWqK1IOal080R\nv5JpD1tR+fbD5gktbc0fzY454RV5Q0faq7opGLMNsauI1IIizxR2JzO1Iw5Q\nfY6J0Y+JPDcvOFD9MvjeALpYKoUmbsCnByzDLn3a1u08oC5CMRJKiUP4tvdb\n+PQdkGsc3CfJUh/lSk1oWVlROA0qsVbD30NDvLmxGUSKT3q8t6TL73a9T/Rd\nR6Xl8Ve0BzSAk7KNGfR9cn9mIokUP990zG2oBygDg46iDBSCF6lKwPkAsKmZ\n7jk/EDHb5u+T1OBayeNj2KLsD+Vo1K3FerwWMwv4vbeCShLDTQkvYzvly7wM\npElCSgtXPVw1hasyEwsSpunHW4McIjRdjm+s8Gzza9EEInEje1VzMF83ViWb\nBl+c2NFoUdDpav8+q0y2NOftA3kRN/TT1ILpLZmgQ9a7Z5/lcIPe6xiNUgxL\niiKWiv0H2VfXU/b1jng2/g3TaXAwzX0zAxoMqIms9KQZaZwwOH2snT2uQ3m0\nInr8\r\n=ztpy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGMAHEyEh0IxXKJAXyBzkGcwGevLzTB+wQYpDKEUMilAiAf9Y+NdK1lK+eti6Qtb7+lgZwj+dFgGrRHf0Ux67GuqQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.2.0_1579101081737_0.10966039849658826"},"_hasShrinkwrap":false},"7.2.1":{"name":"ut-port-tcp","version":"7.2.1","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"0b2dbf861824a017469b09454996d1a530e5fa1c","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.2.1","_npmVersion":"6.4.1","_nodeVersion":"8.16.2","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-BfNd8kh9iztG/Ggy5emRgUWKA01hrDSQqE2XmDu4+soTgIzYbuoKpOHIoIdLoFd+r5LhzoWPYclsZz+EH87P3g==","shasum":"5d0db22dfb2ddc0d7b9c774b28a60d5d51f99655","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.2.1.tgz","fileCount":17,"unpackedSize":28691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH0ofCRA9TVsSAnZWagAAVtQQAKGsSrUG0o2yWsHM4P+d\n9IMz8o7kZQQHZgI5JScKhITUnqX8h2DGYcIAnVG0vGXcFs0YV+QOLXNP0EYa\n9lUH5qzvCFEBI5xhhn5Ojyo5X8Q5Ec4CGBxLCrspuPJcAtvBEXdUuxTTNax4\nQkKO/vEshDny0KDnCdFd1wL5S6C/8VKJ837Qy8yW7Q1fhG+tm5j8P6zZNTCs\nsagAFtKjJzrBg1uiNaZaNNh1TksD/MHz2CT9zAEQyogp1i/m+fURnUKpQL0L\n4AE0NyfUa7lXnilijw7cO8j0PlBfKNaWkbR99/Yw/Nd7/IyazmN6xdiQAIra\n25Ny7wo/wQkUhYruzBulrDZY5YemsgNk2bB4hquntiCfaeSAIu0TW6cHmLzz\n90AG0AtSSZBtfo8foagWDrX8GrQtJrMGdXZ2q76f5s2kkfFwxlAFJqUZnXGx\nmie0uWraI5+oNW2FGs3aoPzwrZ5qdyKWEFpYGr8nEs/XNbEsSYK+ZTChI5gp\nE22DbFVDLU9fmKfiN2B5NUY+WGJYjs5GH6YUf1UBsyA9uAW+K7iqLTcDDV+Z\necsRLBYxDFghHu1Yhi+5kFCogeL8+NKU64pgaj2g1xCQmpP6GXwdAv/w8UDe\nlmgLteykdcZHERNIpFYGH0Io/fr/i8cGRIAEuTdBJxIYTVnc/9QJllRQ0E6b\nGSL7\r\n=5tP1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRMv9e0HxVmRwLzWSvbTnE5F4LUa7M6oQNru1mSGNkoAiEA4iA3qRAKbzKzeTLVJXc/a8//RIuejRV2mCm9dM2xeLk="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.2.1_1579108894791_0.7212334775562419"},"_hasShrinkwrap":false},"7.2.2":{"name":"ut-port-tcp","version":"7.2.2","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.8.10"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"6f52406f8d3e6577ce01bb87c2172346bed07d33","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.2.2","_npmVersion":"6.4.1","_nodeVersion":"8.16.2","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-qBfqI73mZlUgciTR2h1ewQ02jIK5biCUtvV7+h8afuIACjvJu2YUY7lhore90I9gr2B7OfMhl79BTsjJ6BebAA==","shasum":"52a37b11316125578b944c778b2c5a6b1e6013ab","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.2.2.tgz","fileCount":17,"unpackedSize":28907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeH1hXCRA9TVsSAnZWagAAbyEP/1OYIxm0SeJNq71QCQor\niEJ7VbsKeeKOugtvr333KY0JzFD0U+sNDmJI01z9EDjIg6ekT4ofqOGTGYAT\nQmkP6esVJEdKT3Yq+CkSW5jAvR1ddolVX/mbUcxJ7uVHmZQ8dt6dg3CrMHeT\n/KPY6Iq0NfTbDe5mj+LVdJ8HPbJE4hX0Lj3aYC3rANp+jmPO6eGcZjh3euxB\n6ysCWkHFGQNj7gVZE6yZISp60Bz+/GGYLXzx+ZAd8j534GSSXbhjoI6G+OrB\noqOOI5NRIFj2X2pfsxtc1X9EiHK2psNo2dTrSS9PkJ09PUlGzh9isJ5CJW1g\nt/7rCqDJO5W1Rzxj0DxKRvpLaACYkgA/x3UDkKYfW7E5UPHXPaoJkM1+TrUM\n91AICHx8YYWsMRbI/mqw8aB/gupZDCjUPnq1EGX+QjSXCzsdE9gr08L36Rp8\nKxHa+8nxX99WZiBcg3Tn1GqHW0oK/3R7JHOV7vFpYMfv57JLJwWsIxDpOB8R\nGkkCKfmusLFP0c6kM0ulFUVB9xB/asJN8O4LdIrKEcPecezWoexWqfqbfZYU\nlnEsMuelyjTwId0wxHenyNhpW4bVp071Like3ECuZmXs2hI2n1zuDY63hGc2\n0dVjSNqYMjq9a/zi0vOVaSoUy/6C5UPYm93W6nWv8Yn+FiuIGFkWjkBXA0Om\nohWi\r\n=mbQS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICyRrYLQSFObl8F+9D967Sr+T9HLBRTmi5E5t5P/k3SmAiEA5RSn4cZv8dhN/ZbHBbhT9p0pG8P0bycJBVaMEWR2n+c="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.2.2_1579112534385_0.7357175040848085"},"_hasShrinkwrap":false},"7.2.3":{"name":"ut-port-tcp","version":"7.2.3","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.0.17"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.30.5"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"46bd06acddb32260e87c765b93cfb26950a63726","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.2.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-GOq8JrnADgVZPJyfETDzsew6N2yarY5K4N2tJn5t+7QHNq99iv45YxmETsOaPKP+P+B/fl/DkW17FBjoKYXdzQ==","shasum":"ddf2187381cc06841dea1b2526d63c0d2d0ea7c2","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.2.3.tgz","fileCount":20,"unpackedSize":78941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIWaXCRA9TVsSAnZWagAALiQQAIQYn1/KnG5exklszau9\nLCClpAEX227rAY1T+52ps2l04fKQAromGIWasDx/uGrwXXl5y/SkXBCvfHy0\nI3G2GBC8yXd+Uo4RwYBjc6d24b9YW5rA5lFJAUt134XpGJN9iAq8lXrXC/qY\nrkyXQa45JoEJNk4sreKZXtyvq8M/sv131Oa8PIM390SMeRF+ngpXsEgaHutJ\n4KRHkSZ0BMzoHsmL1DACHCLCw+zIrXVqtZy0pv9Ma233RZXriWo5TImmcTWy\n4BtfubZQ4z22EyukWJwaxfnppkx+jSapt+bqv8ylx0tLj3be/FGePOwTs8B9\nchEOjRMyJJ41PyGrUu/c3Eh+7JBSYyVhkAwm24tmvA9e/Tlvc8Za2xWDRHy6\n9yY8blR3hnJLdIBg0pEd7jW8EG6beglnOU5jNEjxX5hEVsV3HTiEFQE4hGU+\neOqNC4hlT6Vxufu79rWs+QJG7OFDE4qzYxlLkgQ+af6DlWKksICAjK0it9Eq\nfK05K6d7NmCSHF/SMJS4SNdLRYEpuTLJyThlI7livcwhM2dmKb9Ivpye3QZS\nz/PDV/VJ8voig6PzAQEV0ABAYuAU36hVtJpdFzjRIJP11j0wk2R46fuM1Zl5\nGkChfk/8SndiJdOMLZoZNes1pJBgKQnAGA+nLotQRShtnUUd84z/1GE5AgQ2\n6vM3\r\n=uX9k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVZU/8V/KMVQsqn990TVmb+Am5gPK/V/TRMNMCATSXcwIgVG4O5quQ4bITlJVHk4/emrqgl27XYBt5TxzFRfkcgg0="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.2.3_1579247254749_0.4978297464765411"},"_hasShrinkwrap":false},"7.2.6":{"name":"ut-port-tcp","version":"7.2.6","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.4"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.33.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"2b70c195322a3277a02c19ad25a8a565debbf60a","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.2.6","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-RZLkkLShSEysKKF0Pra0/1aN7RqHIC0CE4AQnDxGBJSG8mCNv7glx6aOxl7o0zpLwcmF5xLJLVq0bfWCl0tPrw==","shasum":"f79b0ce3849688bc2438326e1b2d8092089f7098","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.2.6.tgz","fileCount":19,"unpackedSize":81558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU/EOCRA9TVsSAnZWagAAoCkP/2x9XmyBxijMx/zZFVyq\nHjj19iIxgEqsETwcmM5DFpyxmQiVHIVEGXxLad9imDlkT9xOCW/5rgRxok9B\nUeuy7oWw/ZsxJY0LkVkoABnTLVzNJFcuq6dSQqw1nHsPXbYOy/BYlCCV2ENY\nw0vyzHdlSK92qVjh5SLXOkW6+8F+aR/YRm+D7qzBTLTIjP9656r3lmtsAmIH\nOFVeU6B0Vs0aPgc0mQzJi1kFIAgVPI9YYkyW8y9x6WqoSkyXmZM6Z+0E7t8U\ncs/t1H2U26/1I10rXB6P1tAqRw8loG1sixtnDizOL/u5WmHrpvpyCxp6fm+D\neke9AmRsq98TjmalLsYW6eHnGmfzkOpZYHicqzGJvEl+WyZ98Ccd+7f0fqOA\nth78GWgX9V5OhhgByysm9dEPjZD76B/WnDb26dG5ojLppUiDg4WEjapN/b/i\nhxVTqc8fvuOCRiE3OOQZbv6eEM9rkQh2Va0iNcQkXtwsLUD+yOOBy+OIRB6d\n8edEl5/faFU13PvbxTszjihEL6o68ITVACfWlAwockghuso5KH+gw3GK9VyO\nFQNKjlb0fVI5pfFQ4zwF+7DPVB/jGclN55vNQhcC5oKu8fopQuQkPM44oT2R\nBIR1MAYGPXm2rHYwtKd2FbUkIHtok8Za2fd103WWlRnYKavim+zPjbyk4/Du\nw0VT\r\n=5fr4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIbmfTFYjPNXRHirBB0L7oziQD/Ym+4OEXNYVPMD5gmwIhAPDQU01C7Kyl5F5yj6HUYTeBzvlRe987dnzldyXAVOMk"}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.2.6_1582559502507_0.6945905311037917"},"_hasShrinkwrap":false},"7.3.0":{"name":"ut-port-tcp","version":"7.3.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.4"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.33.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"6c53185cf783149e7cb99ab5141986fb45090e6f","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.3.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-lc9hpcECEI7naDXXngZhW3ZgodGyTw041NMI2gfWblzQUimHKQRzlVjhdYj2KEdeVdtvtEZyVdaoP4bdr3GQHA==","shasum":"2d5fab79cf07eee4ff777817eb77ea7baa28db42","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.3.0.tgz","fileCount":21,"unpackedSize":84129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVzfaCRA9TVsSAnZWagAAz/EQAJN/eCtF4819Ea71zRhn\niMWIfznp9xKyYUC2llcOV05too/3quvtENHcnWI8nc2TNoHYhVsvCEqI+yEQ\neOm61pyQHj6XYGOFvKr0tmPrVfkyH65IJAqodjqYO1AcHq9i60utnU6qLOni\nUj2ACB29UF2wfKupST8X/6H3DJfu4CHCGtTLQMR5oLugJd3cGkV/IRBuGQqE\nFd4eXcu9xLnXU16ahEvlyhEWcsHz4dRcKXFkRg40XXuLSk1RjYduKs2NeF6P\nxa9wdV3Cp9rCI0lJmQJpyXelIZBf5U3MaTncsqgtskTiCWi01vYvTik/FCjW\nuQIk+xvKFI127v2ZGAztP0+WojzAN6bTaHV114bQ+ILhKSG4Wa4q03PIHT5z\nhVU5MijEkL4bmv2pVqs6S2gZ+MfBHWtw+NNbD4WpxfmiJVROUv9goPQx3unC\nCvf0TfY/Zgxad021ymZHE0/xoJAcJGgOLtM/O2fEGBZf+EB6/4QcXL/KGbl7\ng0lQRhQUcnb0mzT61Gz4yncmqQrEIAx5SA1Jn/2Dqxl0YNlClzeUjCOb0UuX\nV2Nm+BkDxtCjYEBRCdX5jU78VFQCW3JhpsgTL/EDtJrMBc85odgY2UEoFUDc\nnwfScmSXUcj4B7wdN/ilB3lY9z1kctvQ2x9LGT2KigGAY4BCnNJ29dNwGT+h\noYLM\r\n=+RPV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1GxxDo3Tmi05dz2B7tgnIP1oN/RA6hBjDD08gqngCWAiAD/hAfpv3sQmq1e7ljvqgCaWtOQV0AdKJdYdpdjo+4EQ=="}]},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.3.0_1582774234278_0.4689180260510857"},"_hasShrinkwrap":false},"7.3.1":{"name":"ut-port-tcp","version":"7.3.1","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.4"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.36.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"a251ab3b79141c5755cae597561dbec8351978e1","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.3.1","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-hp4m6LpML73M+TsDg34+qGKfKwQTXZ3FrzriILRuThqzLdfNgznTeHSMPC8ao6PvgxhRzJB/mTWQaWu0ke50Vw==","shasum":"a1d7ebd65afba3a89bc9ff53865759ade75ab80c","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.3.1.tgz","fileCount":19,"unpackedSize":89571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHT31CRA9TVsSAnZWagAAc0UP/AjWf3IHwCcDWokXOOoW\nJ8AvSUxi2r/7IQ1NcQRQ4bADod40k6jTN6ke8D3k4+vbnKQ3go5sedAJvCst\np3QDSmrHF0HHGhn74AYYPHuIliZz3smVsRNnWKDWM5575S1p12AiX0MTCSAX\najwz9VEZURHdWcacKjbnGWLzRWyrD1IlCgCG16NbZx7J+bHRIs9313Ww1Uoe\n4tC9rOQvxTU+FYuUlNgxTrLm3OQkKGFC1oi/FeZqiq6yh2EL4svLSaDeHvUk\nyuM0uV2EH55GfJXaEEx4l4LggIupcL2Jj7ho80c6Vx+E3MDgBIebkHN89Lli\nwCsk6CPFgqp4aTZJp0OHXQMWgD1ZhGJrElgGmejrRNEuqEqHZejFawlzDDK3\nE5i/AvnS1vDE5iLjbGSJzy+GXytOiKsfnapEciehiq48T0gNIoKgjYaYgsB9\nUIc9Awhf2Lv8tK3wRQLKTOAoCrJqPj6e4CcA4LhyRHkA3vBwcBLGOYkYyy3z\nNAiJe1z3W8r/ILQ+Y389bq8D+Y4ulSvYfgCBmPkvN02IyICxdCtuJhu8zzht\nMl8ZwVbHQWRqA3SAxY/gu5GOoodcWwkl60VGZgl/XHCypl0IZrHGkcjDuzmh\na/R+CUWISqJlJCEuE4Magv0ma2plHEX0Ua6LCp7DS0UTxO5h2D5JozPU0rfa\n+EK4\r\n=gcj5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHVc+v3+pkGgejYFQmmMm7+/6ZCb152E2D7Xhm0/MyJ8AiEAr7i4Kpof+FhFdYQzmRDbrQUqFgCwat+jj3ZZ7iXyKSA="}]},"directories":{},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.3.1_1612529140624_0.8189604888448008"},"_hasShrinkwrap":false},"7.3.2":{"name":"ut-port-tcp","version":"7.3.2","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.4"},"devDependencies":{"tap":"^12.6.0","ut-tools":"^6.36.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"20ca0b10dc9d43f2de107aa02aebea170327fdd4","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.3.2","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"dist":{"integrity":"sha512-NZ6bKAh5+2rbng5PGXfzqI4XKa06NfAJJo+r0My/MEVSLGpBHhpacvMUimQW3ZCkQhMTRWiRyxi+ZGd4X2aN4g==","shasum":"9e75de3b49553c39e078fdd1de409ba164ef2884","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.3.2.tgz","fileCount":19,"unpackedSize":90281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyvHACRA9TVsSAnZWagAA9P0P/22TPHfW0yxJNBPAIYTA\nWpMoX6e55zKncVQjeYmseIJvRQ+eFatKRZcvPzzymWIXIP+iE51iNmTABgHS\nFFB/VCNgdWtV5kLuhEkmkhoUvGpqbLWnfFfTphl+9kDRdh9gCVeY2apeGw9H\n60zY7P7gXbn540XVaIg/IS1R63uA+HcME0d9CR9pdVIS3woMwjfForfDBIsL\nW/PV+ib0h6zxXmpP7v/gHGl48xzjKvDCoiKn6VzuU29JvO29JETEJH1hED2o\nhuml2B2p7Y5JTMnTg7fE08rLv/u2pBL7Bg+c1+wfD7oFkuzpQU09GCXP+k8t\nUHsuL5zeSXlPpMBH3NmHAsfuK50dMSFhuJOyNQ82duOwiQNqDp7LkJxxYgaE\ngwYI/nihvfjaOYAcVnACeVKtd7mFsb2uy6qvR3B39Fax4QlIFEhc/q3xzqsb\nrTHXow8FWYCE83BJt0jJUUJTz+npEITrPmNY+HNM3rajtpEt6vaQPvqmwez8\nddicj76WNYeGpPyVlATHkerrB0FLb3PusBdixhmp/1StroOMGH87P2N6aHfw\no71MyU1yMED4emGQIkE0uLq+EEt0aBlkVzDnY0BXz5k3YyHjmIa3EpwNoTXQ\ncam6V6bcDGY7+wmAIAYNWkD8mEHInSK/h7wevoCTHOr3Z6P9BRDt155jTJSp\nFy0p\r\n=fa45\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID36hKSBVkoAUhS6vHGsblBiWU9mp4OM8mUPW9G9BNqMAiEA9gn/X6F6SIqrqMX7ULckaZoFXvL10ErNV3TfZd2Xc6o="}]},"directories":{},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.3.2_1623912896123_0.2363599632784288"},"_hasShrinkwrap":false},"7.4.0":{"name":"ut-port-tcp","version":"7.4.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.5"},"devDependencies":{"tap":"^16.0.0","ut-tools":"^6.36.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"dfb316060abd3759b251f8947894b508dec04c23","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.4.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-zSJKZCp9sF3aSNyDT+yHyZNLqGdXQt44u4z8+xIZhdweOEAP1HJqvk/WzeJg374R8hl27KuqCaOXEWFJdQB5CA==","shasum":"3effe36dcad2252f6980dd0cd75e3f5d0033f23b","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.4.0.tgz","fileCount":32,"unpackedSize":235846,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGi4mVtl0V26mtLj5ivsCuzZWJoHtXx7boeRgEoMcf7GAiEA8nvWv6zV+IrewgHiRQHVejPzwQZYImcy5VrnSf6P8OY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifLBTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJaQ/+IIXRBmfCgnDhEqkkWNxMQKxbtpoECeIPR5Cypp5A5tYaGAZr\r\nXEGoZPhVqSZe4BUR3BS1gMNtBXxvnXCaTI4GPlzpradEG41kisKONgzDhCPZ\r\n5Kzcyv70LsVzDTyR9KDVYOH1uqPWVTnVoc97vKwSDsVl+f+kSYJ3kaD7XGeX\r\nokWnw/zBVAb0Lv3WcISKpKu61LtLbYqdIq+qEBo9LNyI3yh0iCFMMJCiWiTn\r\n7ofiMI7lAz6f0p2kj263VwCALhQp61eWz5I1GzSyU8Z/Od1BtFMzxxV765RN\r\nUTsa6/tJT067nGGMVPg9ZcOV7aOtJDUcApCV5jS04yA5IyGzlCD9FEwFTKE/\r\nGQ5JvLMpWop8kwSx2jVuruDt0UShUUEQCsSRzdtp76vQOaQCU7G5+WwCOfsv\r\nsZ+3hhEtCnQVclXMEtpKQzYCTDOHWZVxAJsONoDk5Xcih9DQ3SxmbWHhsop+\r\nDAWni39zg7SjpSc+bB0g2EwHna9j9aWZI+a0+y8opDiMC0Ih0tzJXxy6l2V2\r\nSRxMAkSoIxSRZpz9zrfFVfKloPPf3CT4mLSlIo9uz7j0RpTSNvw21M1arJ97\r\n+CFIkR8Kpf6Vi6QfDCW+1m4iTtUg0df5YvY04dHvfRtxgmmWd7hrUKFhVHj6\r\nFkwPbe3VN+cKgPGaRGF0RMnqO2gP5Ilos9E=\r\n=tnoD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"directories":{},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.4.0_1652338771625_0.35890628279811465"},"_hasShrinkwrap":false},"7.5.0":{"name":"ut-port-tcp","version":"7.5.0","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.5"},"devDependencies":{"tap":"^16.0.0","ut-tools":"^6.36.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"d64012a711a613f0e4aba437e88a0d27127cb9b5","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.5.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-YRuhB8xZHa+/mUbuNk8k7bKdZOmPeEukM9ik/1MHH6P83LQR099ykqeq1uNuYZimH9QeqmahCjajjeU7AzJbLg==","shasum":"42c178487367b6e46ef8432d42519936fdc97b4f","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.5.0.tgz","fileCount":32,"unpackedSize":227934,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqHHHSZUpZwNgdOGhOfx9x4q0FKukBy/2fsv9SjcSxNAiAKTqs7jXjeScKW7pEzdGxEjJoqG9ldeci1d3AJ+m1WHg=="}]},"_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"directories":{},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.5.0_1693387277455_0.5777049133940686"},"_hasShrinkwrap":false},"7.5.1":{"name":"ut-port-tcp","version":"7.5.1","dependencies":{"reconnect-core":"1.3.0","ut-bitsyntax":"^6.2.5"},"devDependencies":{"tap":"^16.0.0","ut-tools":"^6.36.2"},"description":"UT port tcp module","scripts":{"lint":"ut-lint .","release":"ut-release","changelog":"ut-changelog","check":"ut-check","precover":"ut-precover","cover":"ut-cover","lint-js":"ut-lint-js .","postpublish":"ut-postpublish","postversion":"ut-postversion","precommit":"ut-precommit","prepublish":"ut-prepublish","prepush":"ut-prepush","pretest":"ut-pretest","preversion":"ut-preversion","test":"ut-test","version":"ut-version","jenkins":"ut-jenkins","gitlab":"ut-gitlab"},"repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"license":"Apache-2.0","gitHead":"af85f9758517d93f87a18feed056dc0fe4c7d5de","bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","_id":"ut-port-tcp@7.5.1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-nmRDx+waDjJ5HT3RUuG6X1OOOtOCXKTTyPaqr7dEGYKgMWlvFtneT7zltPGVkEQRgJ9EspBvICM1vzdOph+AuQ==","shasum":"ca38bf5734aa1eacb50bbc763851ecb2041d5de9","tarball":"https://registry.npmjs.org/ut-port-tcp/-/ut-port-tcp-7.5.1.tgz","fileCount":32,"unpackedSize":219769,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEU5qu4hFMj2UPUWQg8inat4p0dqUf5dmLR7IL8qXkXEAiBEQvEFoQLW8MyD6OnSvzEce2CMCF7hrxcbwHkB3iGjtQ=="}]},"_npmUser":{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"},"directories":{},"maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ut-port-tcp_7.5.1_1695976263938_0.6504302547822627"},"_hasShrinkwrap":false}},"readme":"# **TCP Port:** `ut-port-tcp`\n\nThe purpose of this port is for establishing TCP connections to remote network\nlocations or to represent a TCP server itself. It can be configured for standard\nsocket communication or secured socket communication (TLS/SSL).\n\nIn the UT5 implementations the TCP client port is initialized in the following manner:\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        host: '<REMOTE_SERVER>',\n        port: '<REMOTE_PORT>',\n        listen: false,\n        // how much time to wait without communication until closing\n        // connection, defaults to \"forever\"\n        socketTimeOut: 10000,\n        ssl: true,\n        connRouter: function(queues) {//connection router example\n            var q = Object.keys(queues);\n            return q[0];\n        },\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            //this us used especially in smpp port where message size is telling\n            // the total size of the message (header message length + actual\n            // message) not only length of the message itself\n            sizeAdjust: 4\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nTCP server\n\n```javascript\n    module.exports = {\n        id: 't24',\n        type: 'tcp',\n        logLevel: 'trace',\n        port: '<LOCAL_PORT>',\n        listen: true,\n        // how much time to wait without communication until closing\n        // connection, defaults to \"forever\"\n        socketTimeOut: 10000,\n        ssl: { // For non-secure connections this can be undefined\n            // Pre-loaded keys and certificates\n            key: fs.readFileSync('key.pem'),\n            cert: fs.readFileSync('cert.pem'),\n            ca: [fs.readFileSync('cert.pem')]\n\n            // If paths are provided TCP port will read file contents\n            keyPath: 'path-to-key-file.pem',\n            certPath: 'path-to-cert-file.pem',\n            ca: ['path-to-cert-file.pem']\n        },\n        // Maximum allowed connections, if the limit is exceeded the server\n        // will drop connections\n        maxConnections: Infinity,\n        // [oldest | newest] - Specifies which connections to drop upon limit exceed.\n        connectionDropPolicy: 'oldest',\n        namespace: ['t24'],\n        format: {\n            size: '32/integer',\n            codec: 'plain',\n            //this us used especially in smpp port where message size is telling\n            // the total size of the message (header message length +\n            // actual message) not only length of the message itself\n            sizeAdjust: 4\n        },\n        receive: function(msg) {\n            return msg;\n        },\n        send: function(msg) {\n            return msg;\n        }\n    }\n```\n\nIt has to be saved inside the ports folder of the implementation and the full\npath to the module should look like this:\n\n`/impl-<NAME>/ports/t24/index.js`\n\nIn the implementation's `server.js` file the port is loaded like this:\n\n```javascript\n    module.exports = {\n        ports: [\n            // ...\n            require('./ports/t24')\n            // ...\n        ],\n        modules: {\n            // ..\n        }\n    };\n```\n\nThe TCP port after the execution of its `init` method from the `ut-bus`\ndetermines if it will run on normal socket or on TLS/SSL, then it initializes\nits `ut-codec` to parse all in-going/out-going communications.\nWhen its `start` method is invoked the actual server/client connection is\nstarted and it starts to listen for in-going/out-going messages.\nThose messages get inside the `send` and `receive` methods, as described in the\nexample above. The `send` represents the out-going conversion\nof the port, e.g. the messages that the application has to send to the remote\nlocation (for example a T24 server) and the `receive` represents the\nin-going conversion of the port, e.g. the messages coming from the remote\nlocation. The codec that is passed to the configuration of the port\nrepresents the parser of the communication (T24, Payshield, NDC, etc.).\nWhen working with this port it is important to keep in mind that you have to\n\"remember\" the requests and to match them to the appropriate responses\nbecause of the asynchronicity of the port. Consider the following solution to\nthis problem:\n\n```javascript\n    var tracer = [];\n    var sequence = 0;\n    module.exports = {\n        receive: function(msg) {\n            msg.$$ = {};\n            msg.$$.mtid = 'response';\n            msg.$$.trace = msg.sequence;\n            msg.$$.callback = tracer    [msg.sequence].callback;\n            delete tracer[msg.sequence];\n            return msg;\n        },\n        send: function(msg) {\n            msg.$$.mtid = 'request';\n            sequence++; msg.$$.trace = sequence;\n            tracer[sequence] = {\n                callback: msg.$$.callback\n            };\n            return msg;\n        }\n    }\n```\n\nThe code from above ensures that the callback from the request to the TCP port\nwill persist during the waiting time for the response.\nIn the `send` we push the callback of the request and store it by its unique\nsequence number. Once the response comes we check the sequence\nand get the appropriate callback from the `tracer` array of callbacks.\n\n`connRouter` method is used for connection choose, when tcp port is in listen\nmode lots of clients can connect, because its is hard to tell which message to\nwhom client needs to go, we will\nleave this decision into programmer's hands trough `connRouter`, detailed\ndescription follows\n\n```javascript\nconnRouter: function(queues) {\n    //queues is of type Object, it holds all connections available for use\n    var q = Object.keys(queues);\n    return q[0];//this method should always return the queue hash\n},\n```\n","maintainers":[{"name":"kalin.krustev","email":"kalin.krustev@gmail.com"}],"time":{"modified":"2023-09-29T08:31:04.434Z","created":"2016-08-12T18:44:44.564Z","5.4.3":"2016-08-12T18:44:44.564Z","5.4.4":"2016-09-20T09:25:51.826Z","5.4.5":"2016-10-04T15:43:14.244Z","5.4.6":"2016-10-05T14:13:23.619Z","5.4.7":"2016-10-06T10:40:01.810Z","5.4.10":"2016-10-24T11:47:45.105Z","5.5.0":"2016-10-27T13:03:02.950Z","5.6.0":"2016-11-05T13:03:12.407Z","5.7.0":"2016-12-23T12:23:39.480Z","5.7.1":"2017-02-27T00:41:58.192Z","5.7.2":"2017-03-06T15:12:13.460Z","5.7.3":"2017-03-08T10:03:18.435Z","5.8.0-ssl.0":"2017-06-19T18:02:04.000Z","5.8.0":"2017-06-20T01:51:42.944Z","5.9.0-rc.0":"2017-09-25T08:23:30.924Z","5.9.0":"2017-09-28T05:02:19.298Z","6.0.0-ut6.0":"2017-10-18T01:42:47.802Z","6.0.0-ut6.1":"2017-10-18T06:02:40.030Z","6.0.0-ut6.2":"2017-10-18T06:12:46.751Z","6.0.0-ut6.3":"2017-10-18T06:22:37.536Z","5.9.0-rc.1":"2017-10-18T12:13:28.738Z","6.0.0-ut6.4":"2017-10-20T09:23:51.147Z","5.9.0-rc.2":"2017-10-23T07:42:39.133Z","5.10.0":"2017-10-26T03:05:16.047Z","6.0.0-ut6.5":"2017-10-26T03:22:56.210Z","5.11.0-rc-acapulco.0":"2017-10-31T14:55:00.877Z","6.0.0-ut6.6":"2017-11-14T00:14:25.040Z","6.0.0-ut6.7":"2017-11-18T05:23:05.634Z","6.0.0":"2017-12-06T03:52:51.642Z","6.0.1":"2017-12-19T04:51:58.109Z","6.1.0-rc-einstein.0":"2018-06-08T07:12:52.491Z","6.1.0":"2018-08-02T13:32:20.470Z","6.2.0-rc-godfather.0":"2018-10-02T15:09:47.435Z","6.2.0-rc-godfather.1":"2018-10-10T08:23:06.536Z","6.2.0-rc-godfather.2":"2018-10-25T08:02:09.916Z","6.2.0-rc-godfather.3":"2018-12-04T23:02:18.978Z","6.1.1-accu.0":"2018-12-18T14:43:53.064Z","6.1.1-accu.1":"2018-12-19T04:32:51.114Z","6.1.1-accu.2":"2018-12-20T13:22:40.531Z","6.2.0-rc-godfather.4":"2018-12-28T15:03:04.293Z","6.2.0-rc-godfather.5":"2019-01-18T12:32:43.802Z","7.0.0":"2019-02-02T12:12:16.447Z","6.1.1-accu.3":"2019-02-28T16:42:17.850Z","7.0.1":"2019-03-22T07:41:44.254Z","7.0.2":"2019-10-02T12:21:41.036Z","7.0.3":"2019-10-14T09:11:25.753Z","7.1.0":"2019-12-06T14:31:21.264Z","7.2.0":"2020-01-15T15:11:21.953Z","7.2.1":"2020-01-15T17:21:34.929Z","7.2.2":"2020-01-15T18:22:14.560Z","7.2.3":"2020-01-17T07:47:34.905Z","7.2.6":"2020-02-24T15:51:42.641Z","7.3.0":"2020-02-27T03:30:34.384Z","7.3.1":"2021-02-05T12:45:40.778Z","7.3.2":"2021-06-17T06:54:56.287Z","7.4.0":"2022-05-12T06:59:31.823Z","7.5.0":"2023-08-30T09:21:17.637Z","7.5.1":"2023-09-29T08:31:04.138Z"},"homepage":"https://github.com/softwaregroup-bg/ut-port-tcp#readme","repository":{"type":"git","url":"git+ssh://git@github.com/softwaregroup-bg/ut-port-tcp.git"},"bugs":{"url":"https://github.com/softwaregroup-bg/ut-port-tcp/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}