Msg class - methods to set a field, get a field, get full transmission string - fixed format and enums, store in fixed struct and convert one by one vs store in struct of char*'s that can cast to single char* - xml and load format, store in array of char*'s, cast to char* to send possibly format msg itself in xml - variable field inclusion field type, field size, field content vs is-it-there flag + fixed format if it is - kinds of fields - msg type, ack/noack, msg id, sender id, password, reply to addr, reply to port, message target, local time sent, - app specific fields location, task, activity, message text - additional (non transmission) fields for time received, addr received at, port received at