Class PipedChannel
java.lang.Object
EDU.oswego.cs.dl.util.concurrent.SemaphoreControlledChannel
EDU.oswego.cs.dl.util.concurrent.misc.PipedChannel
- All Implemented Interfaces:
BoundedChannel
,Channel
,Puttable
,Takable
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ObjectInputStream
protected final PipedInputStream
protected ObjectOutputStream
protected final PipedOutputStream
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SemaphoreControlledChannel
capacity_, putGuard_, takeGuard_
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
extract()
Shared mechanics for take-based methodsprotected ObjectInputStream
in()
Return input stream, first constructing if necessary.protected void
Shared mechanics for put-based methodsprotected ObjectOutputStream
out()
Return output stream, first constructing if necessary.peek()
Stubbed out for now
-
Field Details
-
in_
-
out_
-
outp_
-
inp_
-
-
Constructor Details
-
PipedChannel
public PipedChannel()
-
-
Method Details
-
in
Return input stream, first constructing if necessary. Needed because Object streams can block on open. -
out
Return output stream, first constructing if necessary. Needed because Object streams can block on open. -
insert
Shared mechanics for put-based methods- Specified by:
insert
in classSemaphoreControlledChannel
-
extract
Shared mechanics for take-based methods- Specified by:
extract
in classSemaphoreControlledChannel
-
peek
Stubbed out for now
-