本文整理汇总了Java中com.alibaba.dubbo.common.io.Bytes类的典型用法代码示例。如果您正苦于以下问题:Java Bytes类的具体用法?Java Bytes怎么用?Java Bytes使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Bytes类属于com.alibaba.dubbo.common.io包,在下文中一共展示了Bytes类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testObjectArrayBuilder
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void testObjectArrayBuilder() throws Exception
{
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
Builder<Object[]> builder = Builder.register(Object[].class);
Object[] obj = new Object[5];
obj[0] = "1234";
obj[1] = new Double(109.23);
obj[2] = "3455";
obj[3] = null;
obj[4] = Boolean.TRUE;
builder.writeTo(obj, os);
byte[] b = os.toByteArray();
System.out.println("Object array:"+b.length+":"+Bytes.bytes2hex(b));
Assert.assertArrayEquals(obj, builder.parseFrom(b));
}
示例2: testBuilder_MyList
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Ignore
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void testBuilder_MyList() throws Exception
{
Builder<MyList> b1 = Builder.register(MyList.class);
MyList list = new MyList();
list.add(new boolean[]{ true,false });
list.add(new int[]{ 1,2,3,4,5 });
list.add("String");
list.add(4);
list.code = 4321;
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
b1.writeTo(list, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
MyList result = b1.parseFrom(b);
assertEquals(4, result.size());
assertEquals(result.code, 4321);
assertEquals(result.id, "feedback");
}
示例3: testBuilder_MyMap
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void testBuilder_MyMap() throws Exception
{
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
Builder<MyMap> b2 = Builder.register(MyMap.class);
MyMap map = new MyMap();
map.put("name", "qianlei");
map.put("displayName", "钱磊");
map.code = 4321;
b2.writeTo(map, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
map = b2.parseFrom(b);
assertEquals(map.size(), 2);
assertEquals(map.code, 4321);
assertEquals(map.id, "feedback");
}
示例4: encodeRequest
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
protected void encodeRequest(Channel channel, ChannelBuffer buffer, Request req) throws IOException {
Serialization serialization = getSerialization(channel);
// header.
byte[] header = new byte[HEADER_LENGTH];
// set magic number.
Bytes.short2bytes(MAGIC, header);
// set request and serialization flag.
header[2] = (byte) (FLAG_REQUEST | serialization.getContentTypeId());
if (req.isTwoWay()) header[2] |= FLAG_TWOWAY;
if (req.isEvent()) header[2] |= FLAG_EVENT;
// set request id.
Bytes.long2bytes(req.getId(), header, 4);
// encode request data.
int savedWriteIndex = buffer.writerIndex();
buffer.writerIndex(savedWriteIndex + HEADER_LENGTH);
ChannelBufferOutputStream bos = new ChannelBufferOutputStream(buffer);
ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
if (req.isEvent()) {
encodeEventData(channel, out, req.getData());
} else {
encodeRequestData(channel, out, req.getData());
}
out.flushBuffer();
bos.flush();
bos.close();
int len = bos.writtenBytes();
checkPayload(channel, len);
Bytes.int2bytes(len, header, 12);
// write
buffer.writerIndex(savedWriteIndex);
buffer.writeBytes(header); // write header.
buffer.writerIndex(savedWriteIndex + HEADER_LENGTH + len);
}
示例5: encodeRequest
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
protected void encodeRequest(Channel channel, OutputStream os, Request req) throws IOException {
Serialization serialization = CodecSupport.getSerialization(channel.getUrl());
// header.
byte[] header = new byte[HEADER_LENGTH];
// set magic number.
Bytes.short2bytes(MAGIC, header);
// set request and serialization flag.
header[2] = (byte) (FLAG_REQUEST | serialization.getContentTypeId());
if (req.isTwoWay()) header[2] |= FLAG_TWOWAY;
if (req.isEvent()) header[2] |= FLAG_EVENT;
// set request id.
Bytes.long2bytes(req.getId(), header, 4);
// encode request data.
UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
if (req.isEvent()) {
encodeEventData(channel, out, req.getData());
} else {
encodeRequestData(channel, out, req.getData());
}
out.flushBuffer();
bos.flush();
bos.close();
byte[] data = bos.toByteArray();
checkPayload(channel, data.length);
Bytes.int2bytes(data.length, header, 12);
// write
os.write(header); // write header.
os.write(data); // write data.
}
示例6: getRequestBytes
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
private byte[] getRequestBytes(Object obj, byte[] header) throws IOException{
// encode request data.
UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
ObjectOutput out = serialization.serialize(url, bos);
out.writeObject(obj);
out.flushBuffer();
bos.flush();
bos.close();
byte[] data = bos.toByteArray();
byte[] len = Bytes.int2bytes(data.length);
System.arraycopy(len, 0, header, 12, 4);
byte[] request = join(header, data);
return request;
}
示例7: test_Decode_Check_Payload
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void test_Decode_Check_Payload() throws IOException {
byte[] header = new byte[]{MAGIC_HIGH, MAGIC_LOW, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
byte[] request = assemblyDataProtocol(header);
try {
testDecode_assertEquals(request, TelnetCodec.DecodeResult.NEED_MORE_INPUT);
fail();
} catch (IOException expected) {
Assert.assertTrue(expected.getMessage().startsWith("Data length too large: " + Bytes.bytes2int(new byte[]{1, 1, 1, 1})));
}
}
示例8: write
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
public void write( int b ) {
int newcount = count + 1;
if ( newcount > buffer.length )
buffer = Bytes.copyOf( buffer, Math.max( buffer.length << 1, newcount ) );
buffer[count] = ( byte ) b;
count = newcount;
}
示例9: testPrimaryTypeBuilder
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void testPrimaryTypeBuilder() throws Exception
{
System.out.println((new byte[2]).hashCode());
Builder<String> builder = Builder.register(String.class);
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
String v = "123";
builder.writeTo(v, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
v = builder.parseFrom(b);
builder.writeTo(v, os);
b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
}
示例10: testEnumBuilder
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void testEnumBuilder() throws Exception
{
Builder<Type> builder = Builder.register(Type.class);
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
Type v = Type.High;
builder.writeTo(v, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
v = builder.parseFrom(b);
}
示例11: testThrowableBuilder
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void testThrowableBuilder() throws Exception
{
Builder<Throwable> builder = Builder.register(Throwable.class);
Throwable th = new Throwable();
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
builder.writeTo(th, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
th = builder.parseFrom(b);
}
示例12: testObjectBuilder
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
public void testObjectBuilder() throws Exception
{
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
Builder<Bean> BeanBuilder = Builder.register(Bean.class);
Bean bean = new Bean();
bean.name = "ql";
bean.type = Type.High;
bean.types = new Type[]{ Type.High, Type.High };
BeanBuilder.writeTo(bean, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
bean = BeanBuilder.parseFrom(b);
assertNull(bean.time);
assertEquals(bean.i, 123123);
assertEquals(bean.ni, -12344);
assertEquals(bean.d, 12.345);
assertEquals(bean.nd, -12.345);
assertEquals(bean.l, 1281447759383l);
assertEquals(bean.nl, -13445l);
assertEquals(bean.vl, 100l);
assertEquals(bean.type, Type.High);
assertEquals(bean.types.length, 2);
assertEquals(bean.types[0], Type.High);
assertEquals(bean.types[1], Type.High);
assertEquals(bean.list.size(), 3);
assertEquals(bean.list.get(0), 1);
assertEquals(bean.list.get(1), 2);
assertEquals(bean.list.get(2), 1308147);
}
示例13: testSerializableBean
import com.alibaba.dubbo.common.io.Bytes; //导入依赖的package包/类
@Test
@SuppressWarnings("unchecked")
public void testSerializableBean() throws Exception
{
System.out.println("testSerializableBean");
UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
SerializableBean sb = new SerializableBean();
Builder<SerializableBean> sbb = Builder.register(SerializableBean.class);
sbb.writeTo(sb, os);
byte[] b = os.toByteArray();
System.out.println(b.length+":"+Bytes.bytes2hex(b));
assertEquals(sbb.parseFrom(os.toByteArray()), sb);
}