Class: Shadowsocks::Parser::Server

Inherits:
Base
  • Object
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

Constructor Details

This class inherits a constructor from Shadowsocks::Parser::Base

Instance Method Details

#addr_lenObject



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_typeObject



4
5
6
# File 'lib/shadowsocks/parser/server.rb', line 4

def addr_type
  data[0]
end

#remote_addrObject



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_portObject



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