PLUGIN ws
USE
	TYPE com.device
	TYPE http.mesg_1_1
DEFINE
	FUNCTION ws.protocol_frame STR BLN -> INT ?
	TYPE ws.frame
	INTERRUPTION ws.bad_frame
	INSTRUCTION ws.decode STR -> ws.frame
	INSTRUCTION ws.encode ws.frame -> STR
	INSTRUCTION ws.new -> ws.frame
	INSTRUCTION ws.get_fin ws.frame -> BLN
	INSTRUCTION ws.set_fin MUTABLE ws.frame BLN
	INSTRUCTION ws.get_rsv ws.frame INT -> BLN
	INSTRUCTION ws.set_rsv MUTABLE ws.frame INT BLN
	INTERRUPTION ws.bad_opcode
	INSTRUCTION ws.get_opcode ws.frame -> INT
	INSTRUCTION ws.set_opcode MUTABLE ws.frame [ INT 'CONTINUE' 'TEXT' 'BINARY' 'END' 'PING' 'PONG' ]
	INSTRUCTION ws.get_mask ws.frame -> STR ?
	INSTRUCTION ws.set_mask MUTABLE ws.frame STR ?
	INSTRUCTION ws.get_payload ws.frame -> STR
	INSTRUCTION ws.set_payload MUTABLE ws.frame STR
	INSTRUCTION ws.explain ws.frame -> STR
