package project.data.websocket.utils;
|
|
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayOutputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.util.zip.GZIPInputStream;
|
|
import project.data.websocket.exception.SDKException;
|
|
public abstract class InternalUtils {
|
|
public static byte[] decode(byte[] data) throws IOException {
|
ByteArrayInputStream bais = new ByteArrayInputStream(data);
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
decompress(bais, baos);
|
baos.flush();
|
baos.close();
|
bais.close();
|
return baos.toByteArray();
|
}
|
|
private static void decompress(InputStream is, OutputStream os) throws IOException {
|
GZIPInputStream gis = new GZIPInputStream(is);
|
int count;
|
byte[] data = new byte[1024];
|
while ((count = gis.read(data, 0, 1024)) != -1) {
|
os.write(data, 0, count);
|
}
|
gis.close();
|
}
|
|
public static void await(long n) throws SDKException {
|
try {
|
Thread.sleep(n);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
throw new SDKException(SDKException.SYS_ERROR, "Error when sleep");
|
}
|
}
|
}
|