edu.rit.mp.buf
Class SharedObjectBuf<T>

java.lang.Object
  extended by edu.rit.mp.Buf
      extended by edu.rit.mp.ObjectBuf<T>
          extended by edu.rit.mp.buf.SharedObjectBuf<T>
Type Parameters:
T - Data type of the objects in the buffer.

public class SharedObjectBuf<T>
extends ObjectBuf<T>

Class SharedObjectBuf provides a buffer for a shared object item sent or received using the Message Protocol (MP). While an instance of class SharedObjectBuf may be constructed directly, normally you will use a factory method in class ObjectBuf. See that class for further information.


Field Summary
 
Fields inherited from class edu.rit.mp.ObjectBuf
mySerializedItems
 
Fields inherited from class edu.rit.mp.Buf
myLength
 
Constructor Summary
SharedObjectBuf(SharedObject<T> item)
          Construct a new shared object buffer.
 
Method Summary
 T 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, T item)
          Store the given item in this buffer.
 
Methods inherited from class edu.rit.mp.ObjectBuf
buffer, buffer, buffer, buffer, buffer, buffer, colSliceBuffer, colSliceBuffers, copy, 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

SharedObjectBuf

public SharedObjectBuf(SharedObject<T> item)
Construct a new shared object buffer.

Parameters:
item - SharedObject object that wraps the item.
Method Detail

get

public T 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<T>
Parameters:
i - Item index in the range 0 .. length()-1.
Returns:
Item at index i.

put

public void put(int i,
                T 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<T>
Parameters:
i - Item index in the range 0 .. length()-1.
item - Item to be stored at index i.

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.

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.