anchor.diff:  
     startReceive() async {
       try {
  -      Uint8List cash = new Uint8List(3*16*1024);
  +      Uint8List cash = null;//new Uint8List(3*16*1024);
         while (true) {
           TorrentMessage message = await parse(cash);
           TorrentClientFrontNerve.doReceiveMessage(this, message);
  
positive.code:   Future<TorrentMessage> parse(List<int> cash) async {
      if (handshaked == false) {
        TorrentMessage message = await TorrentMessage.parseHandshake(_parser);
        handshaked = true;
        return message;
      } else {
        (_parser.buffer as ArrayBuilder).rawbuffer8.logon = true;
        TorrentMessage message = await TorrentMessage.parseBasic(_parser, maxOfMessageSize: requestedMaxPieceSize + 20, buffer:cash);
        //print("## -[1]-> ## ${_parser.index} ${(_parser.buffer as ArrayBuilder).rawbuffer8.length}");
        (_parser.buffer as ArrayBuilder).clearInnerBuffer(_parser.index, reuse:true);
        //print("## -[2]-> ##${(_parser.buffer as ArrayBuilder).rawbuffer8.rawbuffer8.length} ${_parser.stack.length}");
  
negative.code:   Future sendMessage(TorrentMessage message) async {
      List<int> data = await message.encode();
      await _socket.send(data);
      print("send : ${message}");
      TorrentClientFrontNerve.doSendMessage(this, message);
      return {};
    }
  