Class: Citrus::Common::Service::ConnectionService

Inherits:
Object
  • Object
show all
Defined in:
lib/citrus/common/service/connection_service.rb

Overview

ConnectionService

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ ConnectionService

Initialize the service

Parameters:

  • app (Object)


21
22
23
24
25
26
# 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

Instance Method Details

#add_logined_user(uid, info = {}) ⇒ Object

Add logined user

Parameters:

  • uid (String)
  • info (Hash) (defaults to: {})


32
33
34
35
36
# 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) ⇒ Object

Decrease connection count

Parameters:

  • uid (String)


54
55
56
57
# 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_infoObject

Get statistics info



60
61
62
63
64
65
66
67
# 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_countObject

Increase connection count



39
40
41
# File 'lib/citrus/common/service/connection_service.rb', line 39

def increase_conn_count
  @conn_count += 1
end

#remove_logined_user(uid) ⇒ Object

Remove logined user

Parameters:

  • uid (String)


46
47
48
49
# 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