Android Open Source - SimplePushDemoApp Framedata Impl1






From Project

Back to project page SimplePushDemoApp.

License

The source code is released under:

GNU General Public License

If you think the Android project SimplePushDemoApp listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.java_websocket.framing;
//from  w  w  w .j a v a2s .c  o  m
import java.nio.ByteBuffer;
import java.util.Arrays;

import org.java_websocket.exceptions.InvalidDataException;
import org.java_websocket.exceptions.InvalidFrameException;
import org.java_websocket.util.Charsetfunctions;

public class FramedataImpl1 implements FrameBuilder {
  protected static byte[] emptyarray = {};
  protected boolean fin;
  protected Opcode optcode;
  private ByteBuffer unmaskedpayload;
  protected boolean transferemasked;

  public FramedataImpl1() {
  }

  public FramedataImpl1( Opcode op ) {
    this.optcode = op;
    unmaskedpayload = ByteBuffer.wrap( emptyarray );
  }

  /**
   * Helper constructor which helps to create "echo" frames.
   * The new object will use the same underlying payload data.
   **/
  public FramedataImpl1( Framedata f ) {
    fin = f.isFin();
    optcode = f.getOpcode();
    unmaskedpayload = f.getPayloadData();
    transferemasked = f.getTransfereMasked();
  }

  @Override
  public boolean isFin() {
    return fin;
  }

  @Override
  public Opcode getOpcode() {
    return optcode;
  }

  @Override
  public boolean getTransfereMasked() {
    return transferemasked;
  }

  @Override
  public ByteBuffer getPayloadData() {
    return unmaskedpayload;
  }

  @Override
  public void setFin( boolean fin ) {
    this.fin = fin;
  }

  @Override
  public void setOptcode( Opcode optcode ) {
    this.optcode = optcode;
  }

  @Override
  public void setPayload( ByteBuffer payload ) throws InvalidDataException {
    unmaskedpayload = payload;
  }

  @Override
  public void setTransferemasked( boolean transferemasked ) {
    this.transferemasked = transferemasked;
  }

  @Override
  public void append( Framedata nextframe ) throws InvalidFrameException {
    ByteBuffer b = nextframe.getPayloadData();
    if( unmaskedpayload == null ) {
      unmaskedpayload = ByteBuffer.allocate( b.remaining() );
      b.mark();
      unmaskedpayload.put( b );
      b.reset();
    } else {
      b.mark();
      unmaskedpayload.position( unmaskedpayload.limit() );
      unmaskedpayload.limit( unmaskedpayload.capacity() );

      if( b.remaining() > unmaskedpayload.remaining() ) {
        ByteBuffer tmp = ByteBuffer.allocate( b.remaining() + unmaskedpayload.capacity() );
        unmaskedpayload.flip();
        tmp.put( unmaskedpayload );
        tmp.put( b );
        unmaskedpayload = tmp;

      } else {
        unmaskedpayload.put( b );
      }
      unmaskedpayload.rewind();
      b.reset();
    }
    fin = nextframe.isFin();
  }

  @Override
  public String toString() {
    return "Framedata{ optcode:" + getOpcode() + ", fin:" + isFin() + ", payloadlength:[pos:" + unmaskedpayload.position() + ", len:" + unmaskedpayload.remaining() + "], payload:" + Arrays.toString( Charsetfunctions.utf8Bytes( new String( unmaskedpayload.array() ) ) ) + "}";
  }

}




Java Source Code List

com.mozilla.simplepush.simplepushdemoapp.ApplicationTest.java
com.mozilla.simplepush.simplepushdemoapp.GcmBroadcastReceiver.java
com.mozilla.simplepush.simplepushdemoapp.GcmIntentService.java
com.mozilla.simplepush.simplepushdemoapp.MainActivity.java
org.java_websocket.AbstractWrappedByteChannel.java
org.java_websocket.SSLSocketChannel2.java
org.java_websocket.SocketChannelIOHelper.java
org.java_websocket.WebSocketAdapter.java
org.java_websocket.WebSocketFactory.java
org.java_websocket.WebSocketImpl.java
org.java_websocket.WebSocketListener.java
org.java_websocket.WebSocket.java
org.java_websocket.WrappedByteChannel.java
org.java_websocket.client.AbstractClientProxyChannel.java
org.java_websocket.client.WebSocketClient.java
org.java_websocket.drafts.Draft_10.java
org.java_websocket.drafts.Draft_17.java
org.java_websocket.drafts.Draft_75.java
org.java_websocket.drafts.Draft_76.java
org.java_websocket.drafts.Draft.java
org.java_websocket.exceptions.IncompleteHandshakeException.java
org.java_websocket.exceptions.InvalidDataException.java
org.java_websocket.exceptions.InvalidFrameException.java
org.java_websocket.exceptions.InvalidHandshakeException.java
org.java_websocket.exceptions.LimitExedeedException.java
org.java_websocket.exceptions.NotSendableException.java
org.java_websocket.exceptions.WebsocketNotConnectedException.java
org.java_websocket.framing.CloseFrameBuilder.java
org.java_websocket.framing.CloseFrame.java
org.java_websocket.framing.FrameBuilder.java
org.java_websocket.framing.FramedataImpl1.java
org.java_websocket.framing.Framedata.java
org.java_websocket.handshake.ClientHandshakeBuilder.java
org.java_websocket.handshake.ClientHandshake.java
org.java_websocket.handshake.HandshakeBuilder.java
org.java_websocket.handshake.HandshakeImpl1Client.java
org.java_websocket.handshake.HandshakeImpl1Server.java
org.java_websocket.handshake.HandshakedataImpl1.java
org.java_websocket.handshake.Handshakedata.java
org.java_websocket.handshake.ServerHandshakeBuilder.java
org.java_websocket.handshake.ServerHandshake.java
org.java_websocket.server.DefaultSSLWebSocketServerFactory.java
org.java_websocket.server.DefaultWebSocketServerFactory.java
org.java_websocket.server.WebSocketServer.java
org.java_websocket.util.Base64.java
org.java_websocket.util.Charsetfunctions.java