Sha256: 65793bc6d6c8f313359b0ce063edd2c701edf0f4599bdf3e6d3850eaf2142547
Contents?: true
Size: 882 Bytes
Versions: 1
Compression:
Stored size: 882 Bytes
Contents
# frozen_string_literal: true require 'ds9' module GrpcKit module Session class IO def initialize(io) @io = io end def close @io.close end def recv_event(length) data = @io.read_nonblock(length, nil, exception: false) case data when :wait_readable DS9::ERR_WOULDBLOCK when nil # nil means EOF DS9::ERR_EOF else data end end def send_event(data) return 0 if data.empty? bytes = @io.write_nonblock(data, exception: false) if bytes == :wait_writable DS9::ERR_WOULDBLOCK else bytes end end def wait_readable ::IO.select([@io], [], []) true rescue IOError false end def flush @io.flush end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grpc_kit-0.1.7 | lib/grpc_kit/session/io.rb |