class Citrus::Common::Service::ConnectionService

ConnectionService

Public Class Methods

new(app) click to toggle source

Initialize the service

@param [Object] app

# File lib/citrus/common/service/connection_service.rb, line 21
def initialize app
  @server_id = app.server_id
  @conn_count = 0
  @logined_count = 0
  @logined = {}
end

Public Instance Methods

add_logined_user(uid, info={}) click to toggle source

Add logined user

@param [String] uid @param [Hash] info

# File lib/citrus/common/service/connection_service.rb, line 32
def add_logined_user uid, info={}
  @logined_count += 1 unless @logined[uid]
  info[:uid] = uid
  @logined[uid] = info
end
decrease_conn_count(uid) click to toggle source

Decrease connection count

@param [String] uid

# File lib/citrus/common/service/connection_service.rb, line 54
def decrease_conn_count uid
  @conn_count -= 1 if @conn_count > 0
  remove_logined_user uid unless uid.empty?
end
get_statistics_info() click to toggle source

Get statistics info

# File lib/citrus/common/service/connection_service.rb, line 60
def get_statistics_info
  {
    :server_id => @server_id,
    :conn_count => @conn_count,
    :logined_count => @logined_count,
    :logined_list => @logined.values
  }
end
increase_conn_count() click to toggle source

Increase connection count

# File lib/citrus/common/service/connection_service.rb, line 39
def increase_conn_count
  @conn_count += 1
end
remove_logined_user(uid) click to toggle source

Remove logined user

@param [String] uid

# File lib/citrus/common/service/connection_service.rb, line 46
def remove_logined_user uid
  @logined_count -= 1 if @logined[uid]
  @logined.delete uid
end