Class: Baykit::BayServer::Agent::Transporter::PlainTransporter

Inherits:
Transporter
  • Object
show all
Includes:
Baykit::BayServer::Agent, Protocol, Util
Defined in:
lib/baykit/bayserver/agent/transporter/plain_transporter.rb

Instance Attribute Summary

Attributes inherited from Transporter

#capacity, #ch_valid, #data_listener, #finale, #handshaked, #infile, #initialized, #lock, #non_blocking_handler, #read_buf, #server_mode, #socket_io, #trace_ssl, #write_only, #write_queue

Instance Method Summary collapse

Methods inherited from Transporter

#abort, #check_timeout, #flush, #handshake_finished, #on_closed, #on_connectable, #on_error, #on_readable, #on_writable, #open_valve, #post, #post_end, #reset, #zombie?

Methods included from Util::Postman

#abort, #flush, #is_zombie, #open_valve, #post, #post_end

Methods included from ChannelListener

#check_timeout, #on_closed, #on_connectable, #on_error, #on_readable, #on_writable

Constructor Details

#initialize(server_mode, bufsiz, write_only = false) ⇒ PlainTransporter

Returns a new instance of PlainTransporter.



14
15
16
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 14

def initialize(server_mode, bufsiz, write_only = false)
  super(server_mode, bufsiz, false, write_only)
end

Instance Method Details

#handshake_nonblockObject

Raises:



35
36
37
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 35

def handshake_nonblock
  raise Sink.new("needless to handshake")
end

#init(nb_hnd, ch, lis) ⇒ Object



18
19
20
21
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 18

def init(nb_hnd, ch, lis)
  super
  @handshaked = true  # plain socket doesn't need to handshake
end

#read_nonblockObject



39
40
41
42
43
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 39

def read_nonblock()
  #@ch.sysread(@capacity, @read_buf)
  @ch.read_nonblock(@capacity, @read_buf)
  return nil # client address (for UDP)
end

#secureObject

Implements Transporter



31
32
33
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 31

def secure()
  return false
end

#to_sObject



23
24
25
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 23

def to_s
  return "tp[#{@data_listener}]"
end

#write_nonblock(buf, adr) ⇒ Object



45
46
47
48
# File 'lib/baykit/bayserver/agent/transporter/plain_transporter.rb', line 45

def write_nonblock(buf, adr)
  #return @ch.syswrite(buf)
  return @ch.write_nonblock(buf)
end