sncp协议优化

This commit is contained in:
redkale
2023-07-05 14:51:28 +08:00
parent cfd22623b7
commit 1b7bdd2ad9
14 changed files with 263 additions and 159 deletions

View File

@@ -43,22 +43,46 @@ public class SncpClientCodecTest {
} catch (Exception e) {
e.printStackTrace();
}
//----------------------------------------------
ByteBuffer realBuf;
//----------------------------------------------
respResults.clear();
{
SncpHeader header = new SncpHeader(sncpAddress, Uint128.ZERO, "", Uint128.ZERO, "");
SncpHeader header = SncpHeader.create(sncpAddress, Uint128.ZERO, "", Uint128.ZERO, "");
SncpClientRequest request = new SncpClientRequest();
ByteArray writeArray = new ByteArray();
request.prepare(header, 1, "", new byte[20]);
ByteArray writeArray1 = new ByteArray();
request.prepare(header, 1, "aa", new byte[20]);
request.writeTo(conn, writeArray1);
System.out.println("request.1 = " + request);
writeArray.put(new byte[SncpHeader.HEADER_SIZE]);
request.writeTo(conn, writeArray);
request.prepare(header, 2, "", new byte[25]);
System.out.println("headerSize = " + SncpHeader.calcHeaderSize(request) + ", arraySzie = " + writeArray1.getBytes().length);
ByteArray writeArray2 = new ByteArray();
request.prepare(header, 2, "bb", new byte[25]);
request.writeTo(conn, writeArray2);
System.out.println("request.2 = " + request);
writeArray.put(new byte[SncpHeader.HEADER_SIZE]);
request.writeTo(conn, writeArray);
System.out.println(writeArray.getBytes().length);
realBuf = ByteBuffer.wrap(writeArray.getBytes());
System.out.println("headerSize = " + SncpHeader.calcHeaderSize(request) + ", arraySzie = " + writeArray2.getBytes().length);
writeArray1.put(writeArray2);
realBuf = ByteBuffer.wrap(writeArray1.getBytes());
}
System.out.println("sncp.realBuf = " + realBuf.remaining());
codec.decodeMessages(realBuf, new ByteArray());
System.out.println("respResults.size = " + respResults.size());
Assertions.assertEquals(2, respResults.size());
//----------------------------------------------
respResults.clear();
{
SncpHeader header = SncpHeader.create(sncpAddress, Uint128.ZERO, "", Uint128.ZERO, "");
SncpClientRequest request = new SncpClientRequest();
ByteArray writeArray1 = new ByteArray();
request.prepare(header, 1, "", new byte[20]);
request.writeTo(conn, writeArray1);
System.out.println("request.1 = " + request);
System.out.println("headerSize = " + SncpHeader.calcHeaderSize(request) + ", arraySzie = " + writeArray1.getBytes().length);
ByteArray writeArray2 = new ByteArray();
request.prepare(header, 2, "", new byte[25]);
request.writeTo(conn, writeArray2);
System.out.println("request.2 = " + request);
System.out.println("headerSize = " + SncpHeader.calcHeaderSize(request) + ", arraySzie = " + writeArray2.getBytes().length);
writeArray1.put(writeArray2);
realBuf = ByteBuffer.wrap(writeArray1.getBytes());
}
System.out.println("sncp.realBuf = " + realBuf.remaining());
codec.decodeMessages(realBuf, new ByteArray());