New Stomp
New STOMP Protocol
1.1 Purpose
1.2 Terminology
1.3 Overall Operation
2.1 Basic Rules
OCTET = <any 8-bit sequence of data>
CHAR = <any US-ASCII character (octets 0 - 127)>
UPALPHA = <any US-ASCII uppercase letter "A".."Z">
LOALPHA = <any US-ASCII lowercase letter "a".."z">
ALPHA = UPALPHA | LOALPHA
DIGIT = <any US-ASCII digit "0".."9">
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
<"> = <US-ASCII double-quote mark (34)>
2.2 Protocol Grammar
CLIENT_VERB = "CONNECT" | "SUBSCRIBE" | "SEND" | "BEGIN" | "COMMIT" | "ACK" | "ABORT" | "DISCONNECT"
SERVER_VERB = "CONNECTED" "MESSAGE" | "RECEIPT" | "ERROR"
VERB = CLIENT_VERB | SERVER_VERB
REQUEST_LINE = VERB CRLF
STANDARD_CLIENT_HEADER_NAME = "version"
| "login"
| "passcode"
| "destination"
| "ack"
| "transaction"
| "message-id"
| "receipt"
| "session"
| "length"
STANDARD_SERVER_HEADER_NAME = "session"
| "receipt-id"
STANDARD_HEADER_NAME = STANDARD_CLIENT_HEADER_NAME | STANDARD_SERVER_HEADER_NAME
HEADER = HEADER_KEY ": " HEADER_VALUE CRLF
FRAME = REQUEST_LINE
*( STANDARD_HEADER
| CUSTOM_HEADER )
CRLF
REQUEST_BODY
(Client Frames)
3.1 CONNECT
3.2 SUBSCRIBE
3.3 SEND
3.4 BEGIN
3.5 COMMIT
3.6 ACK
3.7 ACK
3.8 ABORT
3.9 DISCONNECT
4.1 CONNECTED
4.2 MESSAGE
4.3 RECEIPT
4.4 ERROR