net.tootallnate.websocket
Class Draft

java.lang.Object
  extended by net.tootallnate.websocket.Draft
Direct Known Subclasses:
Draft_10, Draft_75

public abstract class Draft
extends java.lang.Object


Nested Class Summary
static class Draft.HandshakeState
           
 
Field Summary
protected  WebSocket.Role role
           
 
Constructor Summary
Draft()
           
 
Method Summary
abstract  Draft.HandshakeState acceptHandshakeAsClient(Handshakedata request, Handshakedata response)
           
abstract  Draft.HandshakeState acceptHandshakeAsServer(Handshakedata handshakedata)
           
protected  boolean basicAccept(Handshakedata handshakedata)
           
 int checkAlloc(int bytecount)
           
abstract  java.nio.ByteBuffer createBinaryFrame(Framedata framedata)
           
abstract  java.util.List<Framedata> createFrames(byte[] binary, boolean mask)
           
abstract  java.util.List<Framedata> createFrames(java.lang.String text, boolean mask)
           
 java.util.List<java.nio.ByteBuffer> createHandshake(Handshakedata handshakedata, WebSocket.Role ownrole)
           
 java.util.List<java.nio.ByteBuffer> createHandshake(Handshakedata handshakedata, WebSocket.Role ownrole, boolean withcontent)
           
abstract  HandshakeBuilder postProcessHandshakeRequestAsClient(HandshakeBuilder request)
           
abstract  HandshakeBuilder postProcessHandshakeResponseAsServer(Handshakedata request, HandshakeBuilder response)
           
static java.nio.ByteBuffer readLine(java.nio.ByteBuffer buf)
           
static java.lang.String readStringLine(java.nio.ByteBuffer buf)
           
abstract  void reset()
           
 void setParseMode(WebSocket.Role role)
           
abstract  java.util.List<Framedata> translateFrame(java.nio.ByteBuffer buffer)
           
 Handshakedata translateHandshake(java.nio.ByteBuffer buf)
           
static HandshakeBuilder translateHandshakeHttp(java.nio.ByteBuffer buf)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

role

protected WebSocket.Role role
Constructor Detail

Draft

public Draft()
Method Detail

readLine

public static java.nio.ByteBuffer readLine(java.nio.ByteBuffer buf)

readStringLine

public static java.lang.String readStringLine(java.nio.ByteBuffer buf)

translateHandshakeHttp

public static HandshakeBuilder translateHandshakeHttp(java.nio.ByteBuffer buf)
                                               throws InvalidHandshakeException
Throws:
InvalidHandshakeException

acceptHandshakeAsClient

public abstract Draft.HandshakeState acceptHandshakeAsClient(Handshakedata request,
                                                             Handshakedata response)
                                                      throws InvalidHandshakeException
Throws:
InvalidHandshakeException

acceptHandshakeAsServer

public abstract Draft.HandshakeState acceptHandshakeAsServer(Handshakedata handshakedata)
                                                      throws InvalidHandshakeException
Throws:
InvalidHandshakeException

basicAccept

protected boolean basicAccept(Handshakedata handshakedata)

createBinaryFrame

public abstract java.nio.ByteBuffer createBinaryFrame(Framedata framedata)

createFrames

public abstract java.util.List<Framedata> createFrames(byte[] binary,
                                                       boolean mask)

createFrames

public abstract java.util.List<Framedata> createFrames(java.lang.String text,
                                                       boolean mask)

reset

public abstract void reset()

createHandshake

public java.util.List<java.nio.ByteBuffer> createHandshake(Handshakedata handshakedata,
                                                           WebSocket.Role ownrole)

createHandshake

public java.util.List<java.nio.ByteBuffer> createHandshake(Handshakedata handshakedata,
                                                           WebSocket.Role ownrole,
                                                           boolean withcontent)

postProcessHandshakeRequestAsClient

public abstract HandshakeBuilder postProcessHandshakeRequestAsClient(HandshakeBuilder request)
                                                              throws InvalidHandshakeException
Throws:
InvalidHandshakeException

postProcessHandshakeResponseAsServer

public abstract HandshakeBuilder postProcessHandshakeResponseAsServer(Handshakedata request,
                                                                      HandshakeBuilder response)
                                                               throws InvalidHandshakeException
Throws:
InvalidHandshakeException

translateFrame

public abstract java.util.List<Framedata> translateFrame(java.nio.ByteBuffer buffer)
                                                  throws InvalidDataException
Throws:
InvalidDataException

translateHandshake

public Handshakedata translateHandshake(java.nio.ByteBuffer buf)
                                 throws InvalidHandshakeException
Throws:
InvalidHandshakeException

checkAlloc

public int checkAlloc(int bytecount)
               throws LimitExedeedException,
                      InvalidDataException
Throws:
LimitExedeedException
InvalidDataException

setParseMode

public void setParseMode(WebSocket.Role role)