I like this idea, and can see no problems with implementation. Would you
like to code it up as a new interface and patches to existing files (from
CVS head) ? Its the best way to get it included ;-)

In addition you could add convenience static methods to BufferUtils to do
this code

public static boolean isFull(Buffer buffer) {
 if (myBuffer instanceof BoundedCollection)
     bufferFull=((BoundedCollection)myBuffer).isFull();
 else
     bufferFull=false; // as long as there is some free memory left
}
(and also maxsize)

Stephen

----- Original Message -----
From: "Herve Quiroz" <[EMAIL PROTECTED]>
> I have recently switched to the Jakarta Commons Collections 2.1 library. I
> am mostly using it for Buffer implementations as I am working on a network
> simulator using queues of messages. Unfortunately there is no method to
> know if a buffer is full other than adding an object and catching a
> BufferOverflowException... Which is quite annoying for me as the simulator
> should only simulate the latency from some data tranfer only if the target
> buffer is not full. And I can't predict if a given buffer will a bounded
> one or not (depending on the scenario used for simulation).
>
> So, I was planning on coding some utils to test whether a buffer is full
> or not.  But then I thought of another alternative, the BoundedCollection
> interface :
>
> public interface BoundedCollection extends java.util.Collection
> {
>     public boolean isFull();
>     public int maxSize();
> }
>
> ... of course implemented by the BoundedBuffer class.
>
> So to test if a buffer if full :
>
> if (myBuffer instanceof BoundedCollection)
> {
>     bufferFull=((BoundedCollection)myBuffer).isFull();
> }
> else
> {
>     bufferFull=false; // as long as there is some free memory left
> }
>
> Maybe I am just reinventing the wheel but if someone as a
> {cheap,quick,simple} solution, please tell me. I had my own queue library
> working until I changed all my sources to use commons-collections just to
> realize I am stuck with this issue.
>
> Regards
>
>
> Herve Quiroz
>
>
> --
> To unsubscribe, e-mail:
<mailto:commons-dev-unsubscribe@;jakarta.apache.org>
> For additional commands, e-mail:
<mailto:commons-dev-help@;jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>

Reply via email to