Class: Msf::Sessions::Modem::ChannelBase
- Inherits:
-
Object
- Object
- Msf::Sessions::Modem::ChannelBase
show all
- Defined in:
- lib/msf/base/sessions/modem.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(session, cid, conn, params) ⇒ ChannelBase
Returns a new instance of ChannelBase.
70
71
72
73
74
75
76
77
|
# File 'lib/msf/base/sessions/modem.rb', line 70
def initialize(session, cid, conn, params)
@session = session
@cid = cid
@conn = conn
@params = params
@mutex = Mutex.new
@remote_closed = false
end
|
Instance Attribute Details
#cid ⇒ Object
Returns the value of attribute cid.
112
113
114
|
# File 'lib/msf/base/sessions/modem.rb', line 112
def cid
@cid
end
|
#params ⇒ Object
Returns the value of attribute params.
112
113
114
|
# File 'lib/msf/base/sessions/modem.rb', line 112
def params
@params
end
|
Instance Method Details
#close ⇒ Object
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/msf/base/sessions/modem.rb', line 94
def close
cid = nil
should_close_connection = false
@mutex.synchronize do
return if closed?
cid = @cid
should_close_connection = !@remote_closed
@cid = nil
@remote_closed = true
end
close_connection if should_close_connection
stop_reader_thread
@session.remove_channel(cid)
cleanup_abstraction
end
|
#closed? ⇒ Boolean
79
80
81
|
# File 'lib/msf/base/sessions/modem.rb', line 79
def closed?
@cid.nil?
end
|
#remote_closed ⇒ Object
87
88
89
90
91
92
|
# File 'lib/msf/base/sessions/modem.rb', line 87
def remote_closed
return unless mark_remote_closed
notify_remote_closed
close_connection
end
|
#remote_closed? ⇒ Boolean
83
84
85
|
# File 'lib/msf/base/sessions/modem.rb', line 83
def remote_closed?
@mutex.synchronize { @remote_closed }
end
|