Class: Shadowsocks::Parser::Server
- Inherits:
-
Base
- Object
- Base
- Shadowsocks::Parser::Server
show all
- Defined in:
- lib/shadowsocks/parser/server.rb
Instance Attribute Summary
Attributes inherited from Base
#data, #mode
Instance Method Summary
collapse
Methods inherited from Base
#addr_to_send, #header_length, #initialize
Instance Method Details
#addr_len ⇒ Object
8
9
10
11
12
|
# File 'lib/shadowsocks/parser/server.rb', line 8
def addr_len
if mode == :domain
data[1].unpack('c')[0]
end
end
|
#addr_type ⇒ Object
4
5
6
|
# File 'lib/shadowsocks/parser/server.rb', line 4
def addr_type
data[0]
end
|
#remote_addr ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/shadowsocks/parser/server.rb', line 14
def remote_addr
case mode
when :domain
data[2, addr_len]
when :ip
inet_ntoa data[1..4]
end
end
|
#remote_port ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/shadowsocks/parser/server.rb', line 23
def remote_port
case mode
when :domain
data[2 + addr_len, 2].unpack('s>')[0]
when :ip
data[5, 2].unpack('s>')[0]
end
end
|