Sha256: 86802bea69df5931d7d3a6a50eb822e469a433d5144ed9ec28ea3d0c593f82ef
Contents?: true
Size: 776 Bytes
Versions: 1
Compression:
Stored size: 776 Bytes
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2023, by Samuel Williams. require_relative 'generic' module IO::Endpoint # This class doesn't exert ownership over the specified socket, wraps a native ::IO. class SocketEndpoint < Generic def initialize(socket, **options) super(**options) @socket = socket end def to_s "socket:#{@socket}" end def inspect "\#<#{self.class} #{@socket.inspect}>" end attr :socket def bind(&block) if block_given? yield @socket else return @socket end end def connect(&block) if block_given? yield @socket else return @socket end end end def self.socket(socket, **options) SocketEndpoint.new(socket, **options) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
io-endpoint-0.14.0 | lib/io/endpoint/socket_endpoint.rb |