class

Herbal::Plugin::WebSocket::Stream

Inherits IO / Reference / Object

Constructors

new(wrapped : Protocol, windowRemaining : Atomic(Int32) = Atomic(Int32).new(0), option : Herbal::Option | Nil = nil)
Source

Instance methods

buffer
Source
close

Closes this IO.

IO defines this is a no-op method, but including types may override.

Source
closed?

Returns true if this IO is closed.

IO defines returns false, but including types may override.

Source
flush

Flushes buffered data, if any.

IO defines this is a no-op method, but including types may override.

Source
ioMutex
Source
keep_alive=(value : Bool | Nil)
Source
keep_alive?
Source
local_address
Source
mutex
Source
need_disconnect_peer=(value : Bool | Nil)
Source
need_disconnect_peer?
Source
option
Source
option=(option : Herbal::Option | Nil)
Source
ping(event : EnhancedPing | Nil = nil)
Source
pong(event : EnhancedPong | Nil = nil)
Source
read(slice : Bytes) : Int32

Reads at most slice.size bytes from this IO into slice. Returns the number of bytes read, which is 0 if and only if there is no more data to read (so checking for 0 is the way to detect end of file).

io = IO::Memory.new "hello"
slice = Bytes.new(4)
io.read(slice) # => 4
slice          # => Bytes[104, 101, 108, 108]
io.read(slice) # => 1
slice          # => Bytes[111, 101, 108, 108]
io.read(slice) # => 0
Source
read_timeout
Source
read_timeout=(value : Int | Float | Time::Span | Nil)
Source
receive_pong_event!
Source
remote_address
Source
windowRemaining
Source
windowRemaining=(windowRemaining : Atomic(Int32))
Source
wrapped
Source
wrapped=(wrapped : Protocol)
Source
write(slice : Bytes) : Nil

Writes the contents of slice into this IO.

io = IO::Memory.new
slice = Bytes.new(4) { |i| ('a'.ord + i).to_u8 }
io.write(slice)
io.to_s # => "abcd"
Source
write_timeout
Source
write_timeout=(value : Int | Float | Time::Span | Nil)
Source

Nested types