class
	PACKET

General
	cluster: abstract
	description: "A data packet for sending and receiving on a socket."
	create: make_from_managed_pointer, make

Ancestors
	ANY

Queries
	count: INTEGER_32
	data: MANAGED_POINTER
	element alias "[]" (i: INTEGER_32): CHARACTER_8
	infix "@" (i: INTEGER_32): CHARACTER_8
	is_equal (other: [like Current] PACKET): BOOLEAN
	valid_position (i: INTEGER_32): BOOLEAN

Commands
	copy (other: [like Current] PACKET)
	make (size: INTEGER_32)
	make_from_managed_pointer (a_data: [like data] MANAGED_POINTER)
	put_element (v: CHARACTER_8; i: INTEGER_32)

Constraints
	data not equal void