river 0.3.8

Streams interface


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

River

D

River provides a base interface describing a so-called "stream" interface, this entails the following methods:

  1. read(byte[] buff)
    • Reads into the provided buffer, buff, at most the number of bytes equal to the length of buff and at least 1 byte
    • On any error a StreamException is thrown
  2. readFully(byte[] buff)
    • Similar to read(byte[]) except it will block until the number of bytes read is exactly equal to the length of buff
    • On any error a StreamException is thrown
  3. write(byte[] buff)
    • Writes from the provided buffer, buff, at most the number of bytes equal to the length of buff and at least 1 byte
    • On any error a StreamException is thrown
  4. writeFully(byte[] buff)
    • Similar to write(byte[]) except it will block until the number of bytes written is exactly equal to the length of buff
    • On any error a StreamException is thrown
  5. close()
    • Closes the stream
    • On any error a StreamException is thrown

Checkout the Streams API.

Implementations

To go along with the streams API we also offer a few implementations of useful stream-types which you can use right away (or extend) within your application, these include:

  1. SockStream
    • Provides a streamable access to a Socket
    • Note, only works with SocketType.STREAM
  2. PipeStream
    • Provides a streamable access to a pipe pair of file descriptors
    • Note, only supports POSIX-like systems to far

... see the rest;

Authors:
  • Tristan B. Velloza Kildaire
Dependencies:
none
Versions:
0.3.8 2023-May-26
0.3.7 2023-Apr-30
0.3.6 2023-Apr-29
0.3.5 2023-Apr-29
0.3.4 2023-Apr-29
Show all 46 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 423 downloads total

Score:
0.3
Short URL:
river.dub.pm