class Plug::Peer

Attributes

addr[R]
host[R]
mute[RW]
name[R]
owner[R]
port[R]
transport[R]

Public Class Methods

new(addr, owner) click to toggle source
# File lib/rbkb/plug/peer.rb, line 13
def initialize(addr, owner)
  @addr = addr
  @owner = owner
  @transport = @owner.transport

  @port, @host = Socket.unpack_sockaddr_in(@addr)
  @name = "PEER-#{@host}:#{@port}(#{@transport})"
end

Public Instance Methods

close() click to toggle source
# File lib/rbkb/plug/peer.rb, line 37
def close
  @owner.unbind unless @transport == :UDP
end
say(dat, sender) click to toggle source
# File lib/rbkb/plug/peer.rb, line 22
def say(dat, sender)
  UI.dump(sender.name, self.name, dat)

  if @transport == :UDP
    @owner.send_datagram(dat, @host, @port)
  else
    @owner.send_data(dat)
  end
end
start_tls(sender) click to toggle source
# File lib/rbkb/plug/peer.rb, line 32
def start_tls(sender)
  UI.logmsg(self.name, "#{sender.name} initiated TLS")
  @owner.start_tls
end