Class: AgentXmpp::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/agent_xmpp/client/client.rb

Overview


Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeClient

.….….….….….….….….….….….….….….….….….….….….….….….….….….



18
19
# File 'lib/agent_xmpp/client/client.rb', line 18

def initialize
end

Instance Attribute Details

#connectionObject (readonly)




14
15
16
# File 'lib/agent_xmpp/client/client.rb', line 14

def connection
  @connection
end

Instance Method Details

#add_delegate(delegate) ⇒ Object

.….….….….….….….….….….….….….….….….….….….….….….….….….….



51
52
53
# File 'lib/agent_xmpp/client/client.rb', line 51

def add_delegate(delegate)
  connection.pipe.add_delegate(delegate)
end

#close_connectionObject

.….….….….….….….….….….….….….….….….….….….….….….….….….….



34
35
36
37
# File 'lib/agent_xmpp/client/client.rb', line 34

def close_connection
  AgentXmpp.logger.info "CLOSE CONNECTION"
  connection.close_connection_after_writing unless connection.nil?
end

#connectObject

.….….….….….….….….….….….….….….….….….….….….….….….….….….



22
23
24
25
26
27
28
29
30
31
# File 'lib/agent_xmpp/client/client.rb', line 22

def connect
  while (true)
    EventMachine.run do
      @connection = EventMachine.connect(AgentXmpp.jid.domain, AgentXmpp.port, Connection, self)
    end
    Boot.call_if_implemented(:call_restarting_client, pipe)     
    sleep(10.0)
    AgentXmpp.logger.warn "RESTARTING CLIENT"
  end
end

#pipeObject

.….….….….….….….….….….….….….….….….….….….….….….….….….….



46
47
48
# File 'lib/agent_xmpp/client/client.rb', line 46

def pipe
  connection.pipe
end

#reconnectObject

.….….….….….….….….….….….….….….….….….….….….….….….….….….



40
41
42
43
# File 'lib/agent_xmpp/client/client.rb', line 40

def reconnect
  AgentXmpp.logger.info "RECONNECTING"
  connection.reconnect(jid.domain, port) unless connection.nil?
end

#remove_delegate(delegate) ⇒ Object

.….….….….….….….….….….….….….….….….….….….….….….….….….….



56
57
58
# File 'lib/agent_xmpp/client/client.rb', line 56

def remove_delegate(delegate)
  connection.pipe.remove_delegate(delegate)
end