MCPcopy
hub / github.com/nirui/sshwifty / buffer

Method buffer

ui/commands/address.js:120–190  ·  view source on GitHub ↗

* Buffer returns the marshalled address * * @returns {Uint8Array} Marshalled address * * @throws {Exception} When address data is invalid *

()

Source from the content-addressed store, hash-verified

118 *
119 */
120 buffer() {
121 switch (this.type()) {
122 case LOOPBACK:
123 return new Uint8Array([
124 this.addrPort >> 8,
125 this.addrPort & 0xff,
126 LOOPBACK << 6
127 ]);
128
129 case IPV4:
130 if (this.addrData.length != 4) {
131 throw new Exception("Invalid address length");
132 }
133
134 return new Uint8Array([
135 this.addrPort >> 8,
136 this.addrPort & 0xff,
137 IPV4 << 6,
138 this.addrData[0],
139 this.addrData[1],
140 this.addrData[2],
141 this.addrData[3]
142 ]);
143
144 case IPV6:
145 if (this.addrData.length != 16) {
146 throw new Exception("Invalid address length");
147 }
148
149 return new Uint8Array([
150 this.addrPort >> 8,
151 this.addrPort & 0xff,
152 IPV6 << 6,
153 this.addrData[0],
154 this.addrData[1],
155 this.addrData[2],
156 this.addrData[3],
157 this.addrData[4],
158 this.addrData[5],
159 this.addrData[6],
160 this.addrData[7],
161 this.addrData[8],
162 this.addrData[9],
163 this.addrData[10],
164 this.addrData[11],
165 this.addrData[12],
166 this.addrData[13],
167 this.addrData[14],
168 this.addrData[15]
169 ]);
170
171 case HOSTNAME:
172 if (this.addrData.length > MAX_ADDR_LEN) {
173 throw new Exception("Host name cannot longer than " + MAX_ADDR_LEN);
174 }
175
176 let dataBuf = new Uint8Array(this.addrData.length + 3);
177

Callers 2

runMethod · 0.95
runMethod · 0.95

Calls 2

typeMethod · 0.95
setMethod · 0.45

Tested by

no test coverage detected