* @throws IOException if connection breaks or server error occurs when processing submitted data;
*/
public void submit(Object data) throws IOException {
ByteArrayOutputStream os = new ByteArrayOutputStream();
FressianWriter writer = new FressianWriter(os, FressianTraceFormat.WRITE_LOOKUP);
writer.writeObject(data);
writer.close();
send(ZICO_DATA, ZicoCommonUtil.pack(data));
ZicoPacket pkt = recv();
if (pkt.getStatus() != ZICO_OK) {
throw new ZicoException(pkt.getStatus(), "ZICO submission error: status=" + pkt.getStatus());