edu.rit.mp.buf
Class SharedShortArrayBuf_1

java.lang.Object
  extended by edu.rit.mp.Buf
      extended by edu.rit.mp.ShortBuf
          extended by edu.rit.mp.buf.SharedShortArrayBuf
              extended by edu.rit.mp.buf.SharedShortArrayBuf_1

public class SharedShortArrayBuf_1
extends SharedShortArrayBuf

Class SharedShortArrayBuf_1 provides a buffer for a multiple thread safe array of short items sent or received using the Message Protocol (MP). The array element stride must be 1. While an instance of class SharedShortArrayBuf_1 may be constructed directly, normally you will use a factory method in class ShortBuf. See that class for further information.


Field Summary
 
Fields inherited from class edu.rit.mp.Buf
myLength
 
Constructor Summary
SharedShortArrayBuf_1(SharedShortArray theArray, Range theRange)
          Construct a new shared short array buffer.
 
Method Summary
 short 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, short item)
          Store the given item in this buffer.
protected  int receiveItems(int i, int num, ByteBuffer buffer)
          Receive as many items as possible from the given byte buffer to this buffer.
protected  int sendItems(int i, ByteBuffer buffer)
          Send as many items as possible from this buffer to the given byte buffer.
 
Methods inherited from class edu.rit.mp.ShortBuf
buffer, buffer, buffer, buffer, buffer, buffer, colSliceBuffer, colSliceBuffers, copy, defaultCopy, emptyBuffer, fill, getTemporaryBuf, patchBuffer, patchBuffers, rowSliceBuffer, rowSliceBuffers, 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

SharedShortArrayBuf_1

public SharedShortArrayBuf_1(SharedShortArray theArray,
                             Range theRange)
Construct a new shared short array buffer.

Parameters:
theArray - Shared array.
theRange - Range of array elements to include in the buffer. The stride is assumed to be 1.
Method Detail

get

public short 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.

Overrides:
get in class SharedShortArrayBuf
Parameters:
i - Item index in the range 0 .. length()-1.
Returns:
Item at index i.

put

public void put(int i,
                short 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.

Overrides:
put in class SharedShortArrayBuf
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.

Overrides:
getReductionBuf in class SharedShortArrayBuf
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.

sendItems

protected int sendItems(int i,
                        ByteBuffer buffer)
Send as many items as possible from this buffer to the given byte buffer.

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

Overrides:
sendItems in class SharedShortArrayBuf
Parameters:
i - Index of first item to send, in the range 0 .. length-1.
buffer - Byte buffer.
Returns:
Number of items sent.

receiveItems

protected int receiveItems(int i,
                           int num,
                           ByteBuffer buffer)
Receive as many items as possible from the given byte buffer to this buffer.

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

Overrides:
receiveItems in class SharedShortArrayBuf
Parameters:
i - Index of first item to receive, in the range 0 .. length-1.
num - Maximum number of items to receive.
buffer - Byte buffer.
Returns:
Number of items received.


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