Class: Socket::SockAddr_Un

Inherits:
Struct
  • Object
show all
Defined in:
lib/rubysl/socket/socket.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename = nil) ⇒ SockAddr_Un

Returns a new instance of SockAddr_Un.



521
522
523
524
525
526
527
528
529
530
531
532
# File 'lib/rubysl/socket/socket.rb', line 521

def initialize(filename = nil)
  maxfnsize = self.size - (FFI.config("sockaddr_un.sun_family.size") + 1)

  if filename and filename.length > maxfnsize
    raise ArgumentError, "too long unix socket path (max: #{maxfnsize}bytes)"
  end
  @p = FFI::MemoryPointer.new self.size
  if filename
    @p.write_string( [Socket::AF_UNIX].pack("s") + filename )
  end
  super @p
end

Instance Method Details

#to_sObject



534
535
536
# File 'lib/rubysl/socket/socket.rb', line 534

def to_s
  @p.read_string self.size
end