edu.rit.mp.buf
Class EmptyObjectBuf

java.lang.Object
  extended by edu.rit.mp.Buf
      extended by edu.rit.mp.ObjectBuf<Object>
          extended by edu.rit.mp.buf.EmptyObjectBuf

public class EmptyObjectBuf
extends ObjectBuf<Object>

Class EmptyObjectBuf provides an object buffer that contains no items for messages using the Message Protocol (MP). When a message is sent from an EmptyObjectBuf, the message item type is Object and the message length is 0. When a message is received into an EmptyObjectBuf, the message item type must be Object, but all items in the message are discarded.


Field Summary
 
Fields inherited from class edu.rit.mp.ObjectBuf
mySerializedItems
 
Fields inherited from class edu.rit.mp.Buf
myLength
 
Constructor Summary
EmptyObjectBuf()
          Construct a new empty object buffer.
 
Method Summary
 void copy(Buf theSrc)
          Copy items from the given buffer to this buffer.
 Object get(int i)
          Obtain the given item from this buffer.
 Buf getReductionBuf(Op op)
          Create a buffer for performing parallel reduction using the given binary operation.
 void put(int i, Object item)
          Store the given item in this buffer.
 
Methods inherited from class edu.rit.mp.ObjectBuf
buffer, buffer, buffer, buffer, buffer, buffer, colSliceBuffer, colSliceBuffers, defaultCopy, emptyBuffer, fill, getTemporaryBuf, objectBuffer, objectBuffer, patchBuffer, patchBuffers, receiveItems, reset, rowSliceBuffer, rowSliceBuffers, sendItems, sliceBuffer, sliceBuffer, sliceBuffers, sliceBuffers
 
Methods inherited from class edu.rit.mp.Buf
length
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EmptyObjectBuf

public EmptyObjectBuf()
Construct a new empty object buffer.

Method Detail

get

public Object get(int i)
Obtain the given item from this buffer.

The get() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

Specified by:
get in class ObjectBuf<Object>
Parameters:
i - Item index in the range 0 .. length()-1.
Returns:
Item at index i.

put

public void put(int i,
                Object item)
Store the given item in this buffer.

The put() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

Specified by:
put in class ObjectBuf<Object>
Parameters:
i - Item index in the range 0 .. length()-1.
item - Item to be stored at index i.

copy

public void copy(Buf theSrc)
Copy items from the given buffer to this buffer. The number of items copied is this buffer's length or theSrc's length, whichever is smaller. If theSrc is this buffer, the copy() method does nothing.

Overrides:
copy in class ObjectBuf<Object>
Parameters:
theSrc - Source of items to copy into this buffer.
Throws:
ClassCastException - (unchecked exception) Thrown if theSrc's item data type is not the same as this buffer's item data type.

getReductionBuf

public Buf getReductionBuf(Op op)
Create a buffer for performing parallel reduction using the given binary operation. The results of the reduction are placed into this buffer.

Operations performed on the returned reduction buffer have the same effect as operations performed on this buffer, except whenever a source item S is put into a destination item D in this buffer, D is set to D op S, that is, the reduction of D and S using the given binary operation (rather than just setting D to S).

Specified by:
getReductionBuf in class Buf
Parameters:
op - Binary operation.
Throws:
ClassCastException - (unchecked exception) Thrown if this buffer's element data type and the given binary operation's argument data type are not the same.


Copyright © 2005-2012 by Alan Kaminsky. All rights reserved. Send comments to ark­@­cs.rit.edu.