Ackis2.0/Protocol
From Makers Local 256
< Ackis2.0
Packet
responseid
- Typically the only attribute in the <packet> tag
- String of a reasonable length
auth
username
- the username, duh
hash
- this is a md5 hash of the username concatenated with the responseid and password in that order
register
- There can be more then one of these for components
type
- typically client or module or resource but not limited to such
callback
- regular expressions for messages without previous responseids
mime
- the mimetype for the types of messages that can be sent to this client.
message
mime
- the mimetype of the message, common values are:
- text/plain
- image/jpeg
data
- contents of message
type
- type of message
- targeted
- triggered
- emote
- topic
- mode
- quit
- join
- part
- none
component
If component is implemented, it must support at least action=list, type=types, and type=actions so you can get a listing of the types and actions supported.
action
- list
- returns a list of all of the components of type
type
- module or resource or something the core will have listed.
resource
type
- something like database or image
action
- something like query for the database resource or convert for the image resource
data
- this field can be used in both directions, or only the return direction depending on whether the resource needs bulk data along with the action
- rides on the responseid back to the calling component
- maybe this is just a subset of <message>s?
variable
- lets a component retrieve a variable from an other component that initiated a message
name
- contains the name of the variable to be returned
value
- contains the value of the variable to be returned
responseid
- the responseid that the message came in on and identifies the transaction to the core and to the initiator
- the core MUST translate this forward and backward as necessary or the initiator will be unaware of the responseid
info
- describes an error encountered by either the core or a component and will close the connection in most cases.
number
- similar to HTTP error messages?
- 2xx for general info
- 200 Acknowldegement
- 4xx for user error
- 400 Missing or bad critical identifier (could be a responseid, a variable name, or a registration type)
- 401 Component not registered
- 402 Multiple component types (components are allowed multiple registrations, but only of a single type)
- 403 Must be authorized
- 5xx for core error
- 500 Not Implemented
- 2xx for general info
message
- message describing the event that caused the info packet to be transmitted
- "ResponseID not found in lookup table"
- "Duplicate responseid detected"
- "Malformed XML"
- "Welcome to this Ackis2.0 server"
- "You must authenticate with this server before proceeding"