Examples of PageAddress


Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  @Override
  public V put(final K key, final V element) {

    try {
      final PageAddress pageAddressPointers = new PageAddress(0, this.pointersFilename);
      final byte[] pagePointers = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddressPointers);

      final int hashAddress = Math.abs(key.hashCode()) % this.TABLESIZE;

      final long pointer = InputHelper.readLuposLong(new ByteArrayInputStream(pagePointers, hashAddress * 8, 8));
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

      if (this.sizeValues > 0) {
        this.sizeValues-=numberOfKeyElements;
      }
      long addressOfPreviousKey = 0;
      try {
        final PageAddress pageAddress = new PageAddress(0, this.pointersFilename);
        final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

        final int hashAddress = Math.abs(thiskey.hashCode()) % this.TABLESIZE;

        long pointer = InputHelper.readLuposLong(new ByteArrayInputStream(page, hashAddress * 8, 8));

        // check existing list of entries for this table position
        Quadruple<K, Long, Long, Long> entry;
        boolean found = false;
        do {
          entry = this.getKey(pointer);
          if(entry.getFourth() == addressOfFoundKey) {
            // found!
            addressOfPreviousKey = pointer;
            found = true;
          }
          if((entry.getFourth() == 0)) {
            found = true;
          }
          // go to next entry in list...
          pointer = entry.getFourth();
        } while(!found);
      } catch (final IOException e) {
        System.err.println(e);
        e.printStackTrace();
      }
      // check if key is first entry in key list
      if (addressOfPreviousKey == 0) {
        // check if key is last entry in key list
        if (this.getKey(addressOfFoundKey).getFourth() == 0){
          try {
            final PageAddress pageAddress = new PageAddress(0, this.pointersFilename);
            final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

            final int hashAddress = Math.abs(thiskey.hashCode()) % this.TABLESIZE;

            final OutputStream outKeys = new ExistingByteArrayOutputStream(page, hashAddress * 8);
            OutHelper.writeLuposLong(0, outKeys);
            outKeys.close();
            BufferManager.getBufferManager().modifyPage(this.TABLEPAGESIZE, pageAddress, page);
          } catch (final IOException e) {
            System.err.println(e);
            e.printStackTrace();
          }
        } // key is not last entry in key list
        else {
          try {
            final PageAddress pageAddressPointers = new PageAddress(0, this.pointersFilename);
            final byte[] pagePointers = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddressPointers);

            final int hashAddress = Math.abs(thiskey.hashCode()) % this.TABLESIZE;

            final OutputStream outKeys = new ExistingByteArrayOutputStream(pagePointers, hashAddress * 8);
 
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   * @return
   * result set contain key, address of found key, addres of last key
   */
  public ResSet containKeyGetAddressOfFoundKeyGetAddressOfLastKey(final K key) {
    try {
      final PageAddress pageAddress = new PageAddress(0, this.pointersFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final int hashAddress = Math.abs(key.hashCode()) % this.TABLESIZE;

      long pointer = InputHelper.readLuposLong(new ByteArrayInputStream(page, hashAddress * 8, 8));
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  private final void storeKey(final K key, final long addressOfValues, final long numberOfKeyElements, final long addressOfNextKey, final long addressKey) {
    final int pagenumber = (int) (addressKey / PageManager.getDefaultPageSize());
    final int index = (int) (addressKey % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.keysFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final OutputStream out = new ContinousPagesOutputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
      OutHelper.writeLuposLong(addressOfValues, out);
      OutHelper.writeLuposLong(numberOfKeyElements, out);
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  private final void storeElement(final V element, final long numberOfElements, final long addressOfNextElement, final long addressElement) {
    final int pagenumber = (int) (addressElement / PageManager.getDefaultPageSize());
    final int index = (int) (addressElement % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.valuesFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final OutputStream out = new ContinousPagesOutputStream(pagenumber, new PageManager(this.valuesFilename, false, false), index);
      OutHelper.writeLuposLong(numberOfElements, out);
      OutHelper.writeLuposLong(addressOfNextElement, out);
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  public final void storeAddressOfValues(final long addressOfValues, final long addressKey){
    final int pagenumber = (int) (addressKey / PageManager.getDefaultPageSize());
    final int index = (int) (addressKey % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.keysFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final OutputStream out = new ContinousPagesOutputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
      OutHelper.writeLuposLong(addressOfValues, out);
      out.close();
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  private final void storeNumberOfElements(final long numberOfElements, final long addressElement){
    final int pagenumber = (int) (addressElement / PageManager.getDefaultPageSize());
    final int index = (int) (addressElement % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.valuesFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final OutputStream out = new ContinousPagesOutputStream(pagenumber, new PageManager(this.valuesFilename, false, false), index);
      OutHelper.writeLuposLong(numberOfElements, out);
      out.close();
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  private final boolean decrementNumberOfKeyElements(final long addressKey){
    final int pagenumber = (int) (addressKey / PageManager.getDefaultPageSize());
    final int index = (int) (addressKey % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.keysFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final InputStream in = new ContinousPagesInputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
      final long addressOfValues = InputHelper.readLuposLong(in);
      long numberOfKeyElements = InputHelper.readLuposLong(in);
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  private final boolean decrementNumberOfElements(final long addressElement){
    final int pagenumber = (int) (addressElement / PageManager.getDefaultPageSize());
    final int index = (int) (addressElement % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.valuesFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final InputStream in = new ContinousPagesInputStream(pagenumber, new PageManager(this.valuesFilename, false, false), index);
      long numberOfElements = InputHelper.readLuposLong(in);
      in.close();
View Full Code Here

Examples of lupos.datastructures.buffermanager.BufferManager.PageAddress

   */
  public final long setNumberOfKeyElementsTo0(final long addressKey){
    final int pagenumber = (int) (addressKey / PageManager.getDefaultPageSize());
    final int index = (int) (addressKey % PageManager.getDefaultPageSize());
    try {
      final PageAddress pageAddress = new PageAddress(0, this.keysFilename);
      final byte[] page = BufferManager.getBufferManager().getPage(this.TABLEPAGESIZE, pageAddress);

      final InputStream in = new ContinousPagesInputStream(pagenumber, new PageManager(this.keysFilename, false, false), index);
      final long addressOfValues = InputHelper.readLuposLong(in);
      final long numberOfKeyElements = InputHelper.readLuposLong(in);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.