deferred class FILTER

Features exported to STREAM

A filter is something connected to a stream. It allows to add behaviour (e.g. compression, encryption and any other codings)

There are two kinds of filters: + input filters (see FILTER_INPUT_STREAM) + output filters (see FILTER_OUTPUT_STREAM)

Direct parents

non-conformant parents

ANY

Known children

conformant children

FILTER_INPUT_STREAM, FILTER_OUTPUT_STREAM

Summary

exported features

Details

connect_to (a_stream: STREAM)

Connect the filter to some underlying stream.

require

  • not is_connected
  • a_stream.is_connected
  • not a_stream.is_filtered

ensure

  • is_connected

is_connected: BOOLEAN

True if the filter is connected to some underlying stream.

deferred disconnect

Disconnect from the underlying stream.

require

  • is_connected
  • can_disconnect

ensure

  • not is_connected

can_disconnect: BOOLEAN
deferred do_detach

Used by the underlying stream to require not to be filtered anymore

Class invariant