Java 类com.esotericsoftware.kryo.io.FastOutput 实例源码
项目:rpc
文件:KryoSerialization.java
@Override
public byte[] serialize(Object data) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
Kryo kryo = kryoThreadMap.get();
KryoObjectOutput out = new KryoObjectOutput(kryo, new FastOutput(bos));
out.writeObject(data);
out.flush();
return bos.toByteArray();
}
项目:jsflight
文件:InternalEventRecorder.java
public void openFileForWriting()
{
try
{
File destinationFile = newFileStrategy.getNewFile();
LOG.info("{} storing events to: {}", newFileStrategy.toString(), destinationFile.getAbsolutePath());
FileOutputStream fos = new FileOutputStream(destinationFile);
OutputStream out = storeInGzip ? new GZIPOutputStream(fos, true) : fos;
output = new FastOutput(out);
}
catch (IOException e)
{
e.printStackTrace();
}
}
项目:RxBroadcast
文件:KryoSerializer.java
public final byte[] serialize(final Object value) {
final Kryo kryo = threadLocalKryo.get();
final Output output = new FastOutput(16, 1024);
kryo.writeClassAndObject(output, value);
return output.toBytes();
}
项目:jsflight
文件:HttpRecorderHelper.java
public static RecordableHttpServletRequest prepareRequestToRecord(HttpServletRequest original,
HttpRecordInformation info)
{
// buffer is 1kb at least
ByteArrayOutputStream stream = new ByteArrayOutputStream(1024 * 1024);
FastOutput out = new FastOutput(stream);
Kryo kryo = threadKryo.get();
if (kryo == null)
{
kryo = new Kryo();
kryo.register(HashMap.class, new MapSerializer());
kryo.register(ConcurrentHashMap.class, new MapSerializer());
threadKryo.set(kryo);
}
HashMap<String, String[]> item = new HashMap<>();
if (original.getParameterMap() != null)
{
item.putAll(original.getParameterMap());
}
HashMap<String, String> headers = new HashMap<>();
Enumeration<String> names = original.getHeaderNames();
while (names.hasMoreElements())
{
String header = names.nextElement();
headers.put(header, original.getHeader(header));
}
try
{
kryo.writeObject(out, item);
kryo.writeObject(out, headers);
kryo.writeObjectOrNull(out, original.getContentLength(), Integer.class);
kryo.writeObjectOrNull(out, original.getContentType(), String.class);
kryo.writeObjectOrNull(out, original.getRequestURI(), String.class);
kryo.writeObjectOrNull(out, original.getMethod(), String.class);
kryo.writeObjectOrNull(out, original.getServletContext().getContextPath(), String.class);
HashMap<String, String> cookies = new HashMap<>();
if (original.getCookies() != null && original.getCookies().length > 0)
{
for (Cookie cookie : original.getCookies())
{
cookies.put(cookie.getName(), cookie.getValue());
}
}
kryo.writeObject(out, cookies);
out.flush();
out.close();
}
catch (Exception e)
{
e.printStackTrace(System.err);
throw e;
}
info.params = stream.toByteArray();
return new RecordableHttpServletRequest(original);
}