EDU.oswego.cs.dl.util.concurrent.misc
Class PipedChannel
- BoundedChannel, Channel, Puttable, Takable
public class PipedChannel
A channel based on a java.io.PipedInputStream and
java.io.PipedOutputStream. Elements are serialized
using ObjectInputStreams and ObjectOutputStreams
upon insertion and extraction from the pipe.
IO Exceptions are transformed into Errors. This is
in general not a good idea, but seems to be the most
reasonable compromise for the intended usage contexts.
Status Uncertain. There are enough
conceptual and implementation snags surrounding use
of pipes as Channels to downplay use. However,
without such bridges, people would have to
duplicate code that should work the same way in both cases.
[
Introduction to this package. ]
protected ObjectInputStream | in_
|
protected PipedInputStream | inp_
|
protected ObjectOutputStream | out_
|
protected PipedOutputStream | outp_
|
protected Object | extract() - Shared mechanics for take-based methods *
|
protected ObjectInputStream | in() - Return input stream, first constructing if necessary.
|
protected void | insert(Object x) - Shared mechanics for put-based methods *
|
protected ObjectOutputStream | out() - Return output stream, first constructing if necessary.
|
Object | peek() - Stubbed out for now *
|
in_
protected ObjectInputStream in_
inp_
protected final PipedInputStream inp_
out_
protected ObjectOutputStream out_
outp_
protected final PipedOutputStream outp_
PipedChannel
public PipedChannel()
in
protected ObjectInputStream in()
Return input stream, first constructing if necessary.
Needed because Object streams can block on open.
out
protected ObjectOutputStream out()
Return output stream, first constructing if necessary.
Needed because Object streams can block on open.
peek
public Object peek()
Stubbed out for now *
- peek in interface Channel