Mercurial > hg > Database > Alice
annotate src/main/java/alice/datasegment/ReceiveData.java @ 523:145c425db88d dispose
add CompressedLDSM
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Apr 2015 18:36:26 +0900 |
parents | 7ef0ebb40c9b |
children | 30a74eee59c7 |
rev | line source |
---|---|
452 | 1 package alice.datasegment; |
2 | |
464 | 3 import java.io.ByteArrayOutputStream; |
452 | 4 import java.io.IOException; |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
5 import java.nio.ByteBuffer; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
6 import java.util.zip.*; |
464 | 7 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
8 import org.apache.log4j.Logger; |
452 | 9 import org.msgpack.type.Value; |
10 import alice.codesegment.SingletonMessage; | |
11 | |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
12 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
13 * 送られてきたDSを一時的に取っておくクラス。inputでも使用。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
14 */ |
452 | 15 public class ReceiveData { |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
16 private Object val;//Object型のDS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
17 private byte[] messagePack;//byteArray(serialized)のDS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
18 private byte[] zMessagePack;//byteArray(compressed)のDS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
19 private Class<?> clazz; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
20 private Logger logger = Logger.getLogger("MessagePack"); |
467 | 21 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
22 public long time;//測定用 |
488 | 23 public boolean setTime = false; |
24 public int depth = 1; | |
25 | |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
26 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
27 * コンストラクタ。Object型のDSと圧縮のメタ情報を受け取る。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
28 * put/update用? |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
29 * @param obj DS本体(Object) |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
30 */ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
31 public ReceiveData(Object obj, boolean cFlag, boolean sFlag) { |
457 | 32 val = obj; |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
33 if (cFlag){ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
34 messagePack = (byte[])val; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
35 ByteBuffer buf = null; |
463 | 36 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
37 try { |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
38 zMessagePack = zip(messagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
39 buf = ByteBuffer.allocate(zMessagePack.length + 1); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
40 buf.put((byte) 0xc1); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
41 buf.put(zMessagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
42 zMessagePack = buf.array(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
43 } catch (IOException e) { |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
44 e.printStackTrace(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
45 } |
452 | 46 } |
47 } | |
463 | 48 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
49 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
50 * コンストラクタ。byteArray型のDSと圧縮のメタ情報を受け取り、byteArrayフラグを立てる。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
51 * |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
52 * @param messagePack DS本体(byteArray) |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
53 */ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
54 public ReceiveData(byte[] messagePack) { |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
55 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
56 if (messagePack[0] == 0xc1){ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
57 this.zMessagePack = messagePack; |
452 | 58 } else { |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
59 this.messagePack = messagePack; |
452 | 60 } |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
61 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
62 logger.debug(this.messagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
63 logger.debug(this.zMessagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
64 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
65 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
66 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
67 public boolean isByteArray(){//byteArrayフラグの状態を取得するメソッド |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
68 return messagePack != null; |
452 | 69 } |
463 | 70 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
71 public boolean compressed(){//compressedフラグの状態を取得するメソッド |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
72 return zMessagePack != null; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
73 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
74 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
75 public boolean serialized(){//serializedフラグの状態を取得するメソッド |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
76 return val != null; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
77 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
78 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
79 public Object getObj(){//Object型のDS本体を取得するメソッド。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
80 return asClass(Object.class); |
452 | 81 } |
463 | 82 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
83 public String asString(){//String型としてDSを取得するメソッド。DSがシリアライズされていればStringクラスを返す。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
84 return asClass(String.class); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
85 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
86 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
87 public int asInteger(){//Int型としてDSを取得するメソッド。DSがシリアライズされていればIntクラスを返す。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
88 return asClass(Integer.class); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
89 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
90 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
91 public Float asFloat(){//Float型としてDSを取得するメソッド。DSがシリアライズされていればFloatクラスを返す。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
92 return asClass(Float.class); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
93 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
94 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
95 public Value getVal(){//Value型としてDSを取得するメソッド |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
96 if (val == null){//もとはval != null |
452 | 97 return asClass(Value.class); |
98 } else { | |
99 try { | |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
100 return SingletonMessage.getInstance().unconvert(val);//MassagePackでvalue型に変換。できなければnullを返す。 |
452 | 101 } catch (IOException e) { |
102 e.printStackTrace(); | |
103 } | |
104 return null; | |
105 } | |
106 } | |
463 | 107 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
108 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
109 * DSを任意の型で取得するメソッド。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
110 * DSがbyteArrayでなければ指定された型に変換して返す。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
111 * DSがbyteArrayなら解凍状態にして指定された型に変換して返す。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
112 * |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
113 * @param clazz |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
114 * @param <T> |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
115 * @return |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
116 */ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
117 public <T> T asClass(Class<T> clazz) {//javasist |
452 | 118 try { |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
119 if (val != null) { |
452 | 120 return (T) val; |
460 | 121 } |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
122 byte[] b = messagePack; |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
123 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
124 if (zMessagePack != null && messagePack == null) { |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
125 logger.debug("zMessagePack = " + zMessagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
126 messagePack = unzip(zMessagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
127 b = messagePack; |
452 | 128 } |
463 | 129 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
130 logger.debug("MessagePack = " + messagePack); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
131 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
132 if (val == null) { |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
133 this.clazz = clazz; |
460 | 134 return SingletonMessage.getInstance().read(b, clazz); |
135 } else { | |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
136 return (T) val; |
460 | 137 } |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
138 } catch (Exception e) { |
452 | 139 e.printStackTrace(); |
460 | 140 return null; |
452 | 141 } |
142 } | |
463 | 143 |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
144 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
145 * java.util.zip.Inflater(zlib)を使ってbyteArray型のDSを解凍する。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
146 * |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
147 * @param input 圧縮されたbyteArray型のDS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
148 * @return 解凍したbyteArray型DS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
149 * @throws IOException |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
150 * @throws DataFormatException |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
151 */ |
463 | 152 public byte[] unzip(byte[] input) throws IOException, DataFormatException{ |
464 | 153 Inflater inflater = new Inflater(); |
154 ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
155 InflaterOutputStream ios = new InflaterOutputStream(os, inflater); | |
156 ios.write(input); | |
467 | 157 ios.finish(); |
464 | 158 return os.toByteArray(); |
463 | 159 } |
160 | |
523
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
161 /** |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
162 * java.util.zip.Deflater(zlib)を使ってbyteArray型のDSを圧縮する。 |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
163 * |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
164 * @param input 非圧縮状態のbyteArray型のDS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
165 * @return 圧縮したbyteArray型DS |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
166 * @throws IOException |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
167 */ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
168 public byte[] zip(byte[] input) throws IOException{ |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
169 Deflater deflater = new Deflater(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
170 ByteArrayOutputStream os = new ByteArrayOutputStream(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
171 DeflaterOutputStream dos = new DeflaterOutputStream(os, deflater); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
172 dos.write(input); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
173 dos.finish(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
174 return os.toByteArray(); |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
175 } |
145c425db88d
add CompressedLDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
488
diff
changeset
|
176 |
452 | 177 } |