Class: ManagerRemoteSocketBase

Inherits:
ManagerBase show all
Includes:
ManagerRemoteSocketApi, ManagerRemoteSocketDisconnect, ManagerRemoteSocketHandle, ManagerRemoteSocketSessions, ManagerRemoteSocketStatistic, NetworkInterfaceHelper
Defined in:
lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ManagerRemoteSocketStatistic

#store_handler_profiler_data

Methods included from ManagerRemoteSocketSessions

#init_sessions, #on_client_connected, #on_client_disconnected

Methods included from ManagerRemoteSocketHandle

#handle_data_from, #requests_pending

Methods included from ManagerRemoteSocketDisconnect

#disconnect_all_with_message, #disconnect_inactive

Methods inherited from ManagerBase

#cleanup_data, #info, #invalidate_cache, #load_init_data, #on_data_loaded, #on_server_started

Constructor Details

#initializeManagerRemoteSocketBase

Returns a new instance of ManagerRemoteSocketBase.



67
68
69
70
71
72
73
74
75
76
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 67

def initialize
  super

  @port        = 0
  @port_secure = 0

  init_api
  init_handle
  init_sessions
end

Instance Attribute Details

#ipObject (readonly)

Properties



14
15
16
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 14

def ip
  @ip
end

#portObject (readonly)

Returns the value of attribute port.



15
16
17
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 15

def port
  @port
end

#port_secureObject (readonly)

Returns the value of attribute port_secure.



16
17
18
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 16

def port_secure
  @port_secure
end

#sessionsObject (readonly)

Returns the value of attribute sessions.



18
19
20
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 18

def sessions
  @sessions
end

Instance Method Details

#is_ready_for_shutdown?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
37
38
39
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 31

def is_ready_for_shutdown?
  result = false

  @sessions_locker.synchronize do
    result = @sessions.empty?
  end

  result
end

#on_server_maintenance_onObject



55
56
57
58
59
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 55

def on_server_maintenance_on
  self.disconnect_all_with_message(EStringTypeBase::EST_ERROR_SERVER_ON_MAINTENANCE)

  nil
end

#on_server_shutdownObject



46
47
48
49
50
51
52
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 46

def on_server_shutdown
  super

  disconnect_all_with_message(EStringTypeBase::EST_ERROR_SERVER_SHUTDOWN)

  nil
end

#post_initObject



79
80
81
82
83
84
85
86
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 79

def post_init
  super

  register_classes
  register_handlers

  nil
end

#start!(callback = nil) ⇒ Object



97
98
99
100
101
102
103
104
105
106
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 97

def start!(callback = nil)
  begin
    descriptor_size = EventMachine.set_descriptor_table_size(60000)

    @logger.info "descriptors size is #{descriptor_size}"

  rescue Exception => e
    AppInfo.instance.on_server_error(e.to_s, e)
  end
end

#start_tasksObject



89
90
91
92
93
94
95
# File 'lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb', line 89

def start_tasks
  Constants::THREADS_HANDLERS_COUNT.times do |n|
    create_handler(n)
  end

  nil
end