mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
all: byte => u8
This commit is contained in:
@ -7,20 +7,20 @@ import encoding.base64
|
||||
// htonl64 converts payload length to header bits
|
||||
fn htonl64(payload_len u64) []byte {
|
||||
mut ret := []byte{len: 8}
|
||||
ret[0] = byte(((payload_len & (u64(0xff) << 56)) >> 56) & 0xff)
|
||||
ret[1] = byte(((payload_len & (u64(0xff) << 48)) >> 48) & 0xff)
|
||||
ret[2] = byte(((payload_len & (u64(0xff) << 40)) >> 40) & 0xff)
|
||||
ret[3] = byte(((payload_len & (u64(0xff) << 32)) >> 32) & 0xff)
|
||||
ret[4] = byte(((payload_len & (u64(0xff) << 24)) >> 24) & 0xff)
|
||||
ret[5] = byte(((payload_len & (u64(0xff) << 16)) >> 16) & 0xff)
|
||||
ret[6] = byte(((payload_len & (u64(0xff) << 8)) >> 8) & 0xff)
|
||||
ret[7] = byte(((payload_len & (u64(0xff) << 0)) >> 0) & 0xff)
|
||||
ret[0] = u8(((payload_len & (u64(0xff) << 56)) >> 56) & 0xff)
|
||||
ret[1] = u8(((payload_len & (u64(0xff) << 48)) >> 48) & 0xff)
|
||||
ret[2] = u8(((payload_len & (u64(0xff) << 40)) >> 40) & 0xff)
|
||||
ret[3] = u8(((payload_len & (u64(0xff) << 32)) >> 32) & 0xff)
|
||||
ret[4] = u8(((payload_len & (u64(0xff) << 24)) >> 24) & 0xff)
|
||||
ret[5] = u8(((payload_len & (u64(0xff) << 16)) >> 16) & 0xff)
|
||||
ret[6] = u8(((payload_len & (u64(0xff) << 8)) >> 8) & 0xff)
|
||||
ret[7] = u8(((payload_len & (u64(0xff) << 0)) >> 0) & 0xff)
|
||||
return ret
|
||||
}
|
||||
|
||||
// create_masking_key returs a new masking key to use when masking websocket messages
|
||||
fn create_masking_key() []byte {
|
||||
mask_bit := rand.byte()
|
||||
mask_bit := rand.u8()
|
||||
buf := []byte{len: 4, init: `0`}
|
||||
unsafe { C.memcpy(buf.data, &mask_bit, 4) }
|
||||
return buf
|
||||
|
@ -241,11 +241,11 @@ pub fn (mut ws Client) write_ptr(bytes &byte, payload_len int, code OPCode) ?int
|
||||
header_len += 4
|
||||
}
|
||||
mut header := []byte{len: header_len, init: `0`} // [`0`].repeat(header_len)
|
||||
header[0] = byte(int(code)) | 0x80
|
||||
header[0] = u8(int(code)) | 0x80
|
||||
masking_key := create_masking_key()
|
||||
if ws.is_server {
|
||||
if payload_len <= 125 {
|
||||
header[1] = byte(payload_len)
|
||||
header[1] = u8(payload_len)
|
||||
} else if payload_len > 125 && payload_len <= 0xffff {
|
||||
len16 := C.htons(payload_len)
|
||||
header[1] = 126
|
||||
@ -257,7 +257,7 @@ pub fn (mut ws Client) write_ptr(bytes &byte, payload_len int, code OPCode) ?int
|
||||
}
|
||||
} else {
|
||||
if payload_len <= 125 {
|
||||
header[1] = byte(payload_len | 0x80)
|
||||
header[1] = u8(payload_len | 0x80)
|
||||
header[2] = masking_key[0]
|
||||
header[3] = masking_key[1]
|
||||
header[4] = masking_key[2]
|
||||
@ -286,7 +286,7 @@ pub fn (mut ws Client) write_ptr(bytes &byte, payload_len int, code OPCode) ?int
|
||||
len := header.len + payload_len
|
||||
mut frame_buf := []byte{len: len}
|
||||
unsafe {
|
||||
C.memcpy(&frame_buf[0], &byte(header.data), header.len)
|
||||
C.memcpy(&frame_buf[0], &u8(header.data), header.len)
|
||||
if payload_len > 0 {
|
||||
C.memcpy(&frame_buf[header.len], bytes, payload_len)
|
||||
}
|
||||
@ -307,7 +307,7 @@ pub fn (mut ws Client) write_ptr(bytes &byte, payload_len int, code OPCode) ?int
|
||||
|
||||
// write writes a byte array with a websocket messagetype to socket
|
||||
pub fn (mut ws Client) write(bytes []byte, code OPCode) ?int {
|
||||
return ws.write_ptr(&byte(bytes.data), bytes.len, code)
|
||||
return ws.write_ptr(&u8(bytes.data), bytes.len, code)
|
||||
}
|
||||
|
||||
// write_str, writes a string with a websocket texttype to socket
|
||||
@ -333,8 +333,8 @@ pub fn (mut ws Client) close(code int, message string) ? {
|
||||
code_ := C.htons(code)
|
||||
message_len := message.len + 2
|
||||
mut close_frame := []byte{len: message_len}
|
||||
close_frame[0] = byte(code_ & 0xFF)
|
||||
close_frame[1] = byte(code_ >> 8)
|
||||
close_frame[0] = u8(code_ & 0xFF)
|
||||
close_frame[1] = u8(code_ >> 8)
|
||||
// code32 = (close_frame[0] << 8) + close_frame[1]
|
||||
for i in 0 .. message.len {
|
||||
close_frame[i + 2] = message[i]
|
||||
@ -365,15 +365,15 @@ fn (mut ws Client) send_control_frame(code OPCode, frame_typ string, payload []b
|
||||
}
|
||||
}
|
||||
}
|
||||
control_frame[0] = byte(int(code) | 0x80)
|
||||
control_frame[0] = u8(int(code) | 0x80)
|
||||
if !ws.is_server {
|
||||
control_frame[1] = byte(payload.len | 0x80)
|
||||
control_frame[1] = u8(payload.len | 0x80)
|
||||
control_frame[2] = masking_key[0]
|
||||
control_frame[3] = masking_key[1]
|
||||
control_frame[4] = masking_key[2]
|
||||
control_frame[5] = masking_key[3]
|
||||
} else {
|
||||
control_frame[1] = byte(payload.len)
|
||||
control_frame[1] = u8(payload.len)
|
||||
}
|
||||
if code == .close {
|
||||
if payload.len >= 2 {
|
||||
|
Reference in New Issue
Block a user