Package org.eclipse.jetty.io

Examples of org.eclipse.jetty.io.Buffer


public class CodecTest
{
  @Test
  public void testSize() throws Exception
  {
    Buffer buffer = new ByteArrayBuffer(1);
    for (int i = 0; i < 10000; i++)
    {
      buffer = Common.__unsigned32.encode(buffer, i);
    }
   
    for (int i = 0; i < 10000; i++)
    {
      assertTrue(buffer.hasContent());
      assertEquals(i, (int) Common.__unsigned32.decode(buffer));
    }
    assertFalse(buffer.hasContent());
  }
View Full Code Here


  @SuppressWarnings({ "unchecked", "rawtypes" })
  @Test
  public void testAVPCodec() throws IOException
  {
    AVP avp = new AVP(Cx.PUBLIC_IDENTITY, "sip:alice@cipango.org");
    Buffer buffer = new ByteArrayBuffer(64);
    Codecs.__avp.encode(buffer, avp);
 
    AVP decoded = Codecs.__avp.decode(buffer);
   
    assertEquals(avp.getType().getCode(), decoded.getType().getCode());
View Full Code Here

  @Test
  public void testPadding() throws IOException
  {
    byte[] b = { 13 };
    AVP<byte[]> avp = new AVP<byte[]>(Cx.INTEGRITY_KEY, b);
    Buffer buffer = new ByteArrayBuffer(64);
    for (int i = 0; i < 64; i++)
      buffer.put((byte) 44);
    buffer.setPutIndex(0);
    Codecs.__avp.encode(buffer, avp);
    View view = new View(buffer);
    view.setGetIndex(view.putIndex() - 3);
    for (int i = 0; i < 3; i++)
      assertEquals(0, view.get());
View Full Code Here

      try { close(); } catch (IOException e) { Log.ignore(e); }
    }
   
    public void write(DiameterMessage message) throws IOException
    {
      Buffer buffer = getBuffer(getMessageBufferSize());
      buffer = Codecs.__message.encode(buffer, message);
     
      flush(buffer);
      returnBuffer(buffer);
     
View Full Code Here

   
    public void run()
    {
      try
      {
        Buffer fb = new ByteArrayBuffer(4);
       
        while (isStarted() && !isClosed())
        {
          fb.clear();
          int read = fill(fb);
         
          if (read == -1)
            throw new EofException();
         
          int length =
            (fb.peek(1) & 0xff) << 16
            | (fb.peek(2) & 0xff) << 8
            | (fb.peek(3) & 0xff);
         
          Buffer b = new ByteArrayBuffer(length);

          int totalRead = 4;
          b.put(fb);
         
          while (totalRead < length)
          {
            read = fill(b);
 
View Full Code Here

  public void generateResponse(Buffer buffer, SipResponse response)
  {
    int status = response.getStatus();
    String reason = response.getReason();
   
        Buffer line = SipStatus.getResponseLine(status);
       
        if (line != null && reason == null)
        {
          buffer.put(line);
        }
        else
        {
          if (reason == null)
            reason = UNKNOWN_REASON;
         
          if (line == null)
          {
            buffer.put(SipVersions.SIP_2_0_BUFFER);
                buffer.put(SipGrammar.SPACE);
                buffer.put((byte) ('0' + status / 100));
                buffer.put((byte) ('0' + (status % 100) / 10));
                buffer.put((byte) ('0' + (status % 10)));
                buffer.put(SipGrammar.SPACE);
                byte[] r = reason.getBytes();
                buffer.put(r, 0, r.length);
                buffer.put(SipGrammar.CRLF);
          }
          else
          {
            buffer.put(line.array(), 0, SipVersions.SIP_2_0_BUFFER.length() + 5);
                byte[] r = reason.getBytes();
                buffer.put(r, 0, r.length);
                buffer.put(SipGrammar.CRLF);
          }
        }
View Full Code Here

      vendorId = getInt(buffer);
      dataLength -= 4;
    }
   
    //Buffer data = buffer.slice();
    Buffer data = new View(buffer);
   
    data.setGetIndex(buffer.getIndex());
    data.setPutIndex(data.getIndex() + dataLength);
   
    buffer.setGetIndex(buffer.getIndex() + (dataLength + 3 & -4));
   
    Type type = Dictionary.getInstance().getType(vendorId, code);
   
View Full Code Here

        return false;
    }
   
    public void send(SipMessage message, SipConnection connection) throws IOException
    {
      Buffer buffer = getBuffer(_messageSize);
      _sipGenerator.generate(buffer, message);
     
      try
      {
        connection.write(buffer);
View Full Code Here

  {
    if (buffer instanceof CachedBuffer)
    {
      CachedBuffer cachedBuffer = (CachedBuffer) buffer;
   
      Buffer compact = COMPACT_CACHE.get(cachedBuffer.getOrdinal());
      if (compact != null)
        return compact;
    }
    return buffer;
  }
View Full Code Here

    if (length == 2 || length == 4) return;
   
    byte[] b = new byte[length];
    System.arraycopy(p.getData(), 0, b, 0, length);
   
    Buffer buffer = new ByteArrayBuffer(b);
   
    EventHandler handler = new EventHandler();
    SipParser parser = new SipParser(buffer, handler);
   
    try
    {
      parser.parse();
     
      SipMessage message = handler.getMessage();
      message.setConnection(new UdpConnection(p.getAddress(), p.getPort()));
     
      /*
      message.set5uple(getTransportOrdinal(), getAddr(), getPort(), p.getAddress(), p.getPort());
   
      if (message.isRequest())
        ((SipRequest) message).setEndpoint(this);
       
      */
     
      process(message);
    }
    catch (Throwable t)
    {
      if (_statsStartedAt != -1)
      {
        synchronized (_statsLock)
        {
          _nbParseErrors++;
        }
      }
      Log.warn(t);
      //if (handler.hasException())
        //Log.warn(handler.getException());
       
      if (Log.isDebugEnabled())
        Log.debug("Buffer content: \r\n" + HexString.toDetailedHexString(buffer.array(), p.getLength()));
    }
   
  }
View Full Code Here

TOP

Related Classes of org.eclipse.jetty.io.Buffer

Copyright © 2018 www.massapicom. 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.