Package coilmq :: Module engine
[frames] | no frames]

Module engine

Core STOMP server logic, abstracted from socket transport implementation.

While this is abstracted from the socket transport implementation, it does operate on the assumption that there is an available connection to send response frames.

We're also making some simplified assumptions here which may make this engine impractical for [high-performance] use in specifically asynchronous frameworks. More specifically, this class was not explicitly designed around async patterns, meaning that it would likely be problematic to use with a framework like Twisted if the underlying storage implementations were processor intensive (e.g. database access). For the default memory storage engines, this shouldn't be a problem.

This code is inspired by the design of the Ruby stompserver project, by Patrick Hurley and Lionel Bouton. See http://stompserver.rubyforge.org/


Author: "Hans Lellelid" <hans@xmpl.org>

Copyright: Copyright 2009 Hans Lellelid

License: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Classes
  StompEngine
The engine provides the core business logic that we use to respond to STOMP protocol messages.
Variables
  VALID_COMMANDS = ['connect', 'send', 'subscribe', 'unsubscribe...
Variables Details

VALID_COMMANDS

Value:
['connect', 'send', 'subscribe', 'unsubscribe', 'begin', 'commit', 'ab\
ort', 'ack', 'disconnect']