Difference between revisions of "Ackis2.0/Protocol"

From Makers Local 256
Jump to: navigation, search
m (number: fixed title)
m (message: tweak wording, add some things)
Line 78: Line 78:
 
** 5xx for core error?
 
** 5xx for core error?
 
===message===
 
===message===
* detailed description of the failure
+
* message describing the event that caused the info packet to be transmitted
 
** "ResponseID not found in lookup table"
 
** "ResponseID not found in lookup table"
 
** "Duplicate responseid detected"
 
** "Duplicate responseid detected"
** "Malformed XML".
+
** "Malformed XML"
 +
** "Welcome to this Ackis2.0 server"
 +
** "You must authenticate with this server before proceeding"

Revision as of 18:37, 13 April 2009

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

  • machine readable number to be determined later
  • similar to HTTP error messages?
    • 2xx for general info?
    • 4xx for user error?
    • 5xx for core error?

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"