Package net.solosky.maplefetion.net.buffer

Examples of net.solosky.maplefetion.net.buffer.ByteWriter


     */
    @Override
    public void processOutcoming(Object o) throws FetionException
    {
      if(o instanceof ByteWriter) {
        ByteWriter writer = (ByteWriter) o;
        try {
             this.sendBytes(writer.toByteArray(), 0, writer.size());
            } catch (TransferException e) {
              this.raiseException(e);
            }
      }
    }
View Full Code Here


   * 把发出信令转换为字节写对象
   * @return
   */
  public ByteWriter parseOutMessage(SipcOutMessage out)
  {
    ByteWriter writer = new ByteArrayWriter();
    byte[] bytes = ConvertHelper.string2Byte(out.toSendString());
    writer.write(bytes);
    return writer;
   
  }
View Full Code Here

    {
      Runnable r = new Runnable(){
            public void run()
            {
              try{
                  ByteWriter writer =  new ByteArrayWriter();
                  //最开始执行了一个i请求
                  writer.write("SIPP".getBytes());
                  if(!tryExecuteRequest("i", requestId++, writer, 1))
                    raiseException(new TransferException("Init Http Transfer failed.."));
                 
                 
                  while(!closeFlag) {
                    writer.clear();
                    BytesEntry entry = bytesEntryQueue.poll(5,TimeUnit.SECONDS);    //等待五秒,如果没有元素也返回
                    if(entry!=null) {
                      writer.writeBytes(entry.getBytes(), entry.getOffset(), entry.getLength())//
                      while(bytesEntryQueue.size()>0) {
                        entry = bytesEntryQueue.poll();
                        writer.writeBytes(entry.getBytes(), entry.getOffset(), entry.getLength());
                      }
                    }
                    writer.write("SIPP".getBytes());
                   
                    //尝试发送这个请求,如果超过指定次数,传递传输异常
                    if(!tryExecuteRequest("s",requestId++,writer, 3)) {
                      closeFlag = true;
                      raiseException( new TransferException());
                        }
                  }
                 
                 
                  //结束
                  writer.clear();
                  writer.write("SIPP".getBytes());
                  tryExecuteRequest("d", requestId++, writer, 1);
                 
              }catch(Throwable e) {
                raiseException(new TransferException(e));
              }
View Full Code Here

TOP

Related Classes of net.solosky.maplefetion.net.buffer.ByteWriter

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.