An Xmarc messaging service is a Java-based application running under the control
of the Xmarc Service Manager. It is driven by http get/post data packets.
Input is in the form of commands plus binary parameters using Xmarc's binary hose protocol. Output takes the form of hose-wrapped eim packets shipped back to the client, with the option of unsolicited asychronous sending of binary hose packets to clients connected on nailed-up sockets.
Application writers do not need to worry about these commands because the API encapsulates it all.
The HTTP Post command set is as follows:
Command Description *login a user logs in, providing host/port connection details *logout a user logs out *open_session a user wants to open a session *close_session a user wants to close a session *invite a user invites other users to join a session *accept a user accepts an invitation to join a session *decline a user declines in invitation to join a session *join a user wants to join a session uninvited *leave a user wants to leave a session *put a user wants to send a message to other users *get a user wants to get and process a message pending *cancel a user wants to cancel a message pending *query_groups get a list of groups *query_sessions get a list of sessions *query_title get the title (description) of the service *query_users get a list of logged on/out users in a session
These are for admin purposes, input is via url parameters in the form &cmd=whatever. Output is raw html shipped back to a client (a browser).
The HTTP Get command set is as follows:
Command Description &cmd=summary display a service monitoring page to see who is logged on to which sessions etc.