Sha256: ace80b692012607cf43326703d235609adfca5e366af637cac6b7239bf2cedc2
Contents?: true
Size: 862 Bytes
Versions: 1
Compression:
Stored size: 862 Bytes
Contents
# topic - non persistent, sent to all interested parties module StompServer class TopicManager attr_accessor :frame_index def initialize @frame_index =0 @topics = Hash.new { Array.new } @@log = Logger.new(STDOUT) @@log.level = StompServer::LogHelper.get_loglevel() @@log.info("TopicManager initialize comletes") end def index @frame_index end def next_index @frame_index += 1 end def subscribe(topic, user) @topics[topic] += [user] end def unsubscribe(topic, user) @topics[topic].delete(user) end def disconnect(user) @topics.each do |dest, queue| queue.delete_if { |qu| qu == user } end end def sendmsg(msg) msg.command = "MESSAGE" topic = msg.headers['destination'] @topics[topic].each do |user| user.stomp_send_data(msg) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stompserver_ng-1.0.6 | lib/stomp_server_ng/topic_manager.rb |