# Package org.eclipse.net4j.buffer

The Net4j transport layer concepts for dealing with buffers.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IBuffer | Basic unit of transport in Net4j.
  IBufferHandler | Provides clients with the ability to pass `IBuffer`s in for further buffer handling.
  IBufferPool | Provides clients with the ability to obtain and retain pooled `IBuffer`s.
  IBufferPool.Introspection | Offers additional introspection features for `IBufferPool`s.
  IBufferProvider | Provides clients with the ability to obtain and retain `IBuffer`s.
  IBufferProvider.Introspection | Offers additional introspection features for `buffer providers`.
  IBufferProvider.Notification | Offers additional notification features for `buffer providers`.
  IBufferProvider.Notification.BufferProvidedEvent | An `event` fired from a `buffer provider` to indicate that a buffer has been provided.
  IBufferProvider.Notification.BufferRetainingEvent | An `event` fired from a `buffer provider` to indicate that a buffer is about to be retained.

- Class Summary
  Class | Description
  --- | ---
  BufferInputStream | A `buffer handler` that defragments the passed `buffers` into a continuous byte sequence which is exposed as an `input stream`.
  BufferOutputStream | An `output stream` that fragments the written byte sequence into fixed-sized `buffers` and passes them to configured `buffer handler`.

- Enum Summary
  Enum | Description
  --- | ---
  BufferState | Enumerates the internal states of an `IBuffer`.

## Package org.eclipse.net4j.buffer Description

The Net4j transport layer concepts for dealing with buffers.

Copyright (c) 2004-2019 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html