Sha256: ed7b0c41296a3d307567726f0839fe0ca3c1a35765642885c4390d82e68b98f7
Contents?: true
Size: 1.09 KB
Versions: 6
Compression:
Stored size: 1.09 KB
Contents
require 'socket' module Celluloid module IO # UNIXSocket with combined blocking and evented support class UNIXSocket < Stream extend Forwardable def_delegators :@socket, :read_nonblock, :write_nonblock, :close, :closed?, :readline, :puts, :addr # Open a UNIX connection. def self.open(socket_path, &block) self.new(socket_path, &block) end # Convert a Ruby UNIXSocket into a Celluloid::IO::UNIXSocket # DEPRECATED: to be removed in a future release def self.from_ruby_socket(ruby_socket) new(ruby_socket) end # Open a UNIX connection. def initialize(socket_path, &block) super() # Allow users to pass in a Ruby UNIXSocket directly if socket_path.is_a? ::UNIXSocket @socket = socket_path return end # FIXME: not doing non-blocking connect @socket = if block ::UNIXSocket.open(socket_path, &block) else ::UNIXSocket.new(socket_path) end end def to_io @socket end end end end
Version data entries
6 entries across 6 versions & 1 rubygems