// timeout - msec , 0 means waiting infinitely public void onError(String errcode, String errmsg, int timeout, HashMap<String, String> props) throws RpcException { boolean r_1 = false; RpcMessage m_2 = new RpcMessage(RpcMessage.CALL); m_2.ifidx = 0; m_2.opidx = 2; m_2.paramsize = 2; m_2.extra.setProperties(props); try { ByteArrayOutputStream bos_3 = new ByteArrayOutputStream(); DataOutputStream dos_4 = new DataOutputStream(bos_3); byte[] sb_5 = errcode.getBytes(); dos_4.writeInt(sb_5.length); dos_4.write(sb_5, 0, sb_5.length); byte[] sb_6 = errmsg.getBytes(); dos_4.writeInt(sb_6.length); dos_4.write(sb_6, 0, sb_6.length); m_2.paramstream = bos_3.toByteArray(); m_2.prx = this; } catch (Exception e) { throw new RpcException(RpcConsts.RPCERROR_DATADIRTY, e.toString()); } synchronized (m_2) { r_1 = this.conn.sendMessage(m_2); if (!r_1) { throw new RpcException(RpcConsts.RPCERROR_SENDFAILED); } try { if (timeout > 0) m_2.wait(timeout); else m_2.wait(); } catch (Exception e) { throw new RpcException(RpcConsts.RPCERROR_INTERNAL_EXCEPTION, e.getMessage()); } } if (m_2.errcode != RpcConsts.RPCERROR_SUCC) { throw new RpcException(m_2.errcode); } if (m_2.result == null) { throw new RpcException(RpcConsts.RPCERROR_TIMEOUT); } }
// timeout - msec , 0 means waiting infinitely public void onSimpleText(SimpleText_t text, int timeout, HashMap<String, String> props) throws RpcException { boolean r_1 = false; RpcMessage m_2 = new RpcMessage(RpcMessage.CALL); m_2.ifidx = 0; m_2.opidx = 0; m_2.paramsize = 1; m_2.extra.setProperties(props); try { ByteArrayOutputStream bos_3 = new ByteArrayOutputStream(); DataOutputStream dos_4 = new DataOutputStream(bos_3); text.marshall(dos_4); m_2.paramstream = bos_3.toByteArray(); m_2.prx = this; } catch (Exception e) { throw new RpcException(RpcConsts.RPCERROR_DATADIRTY, e.toString()); } synchronized (m_2) { r_1 = this.conn.sendMessage(m_2); if (!r_1) { throw new RpcException(RpcConsts.RPCERROR_SENDFAILED); } try { if (timeout > 0) m_2.wait(timeout); else m_2.wait(); } catch (Exception e) { throw new RpcException(RpcConsts.RPCERROR_INTERNAL_EXCEPTION, e.getMessage()); } } if (m_2.errcode != RpcConsts.RPCERROR_SUCC) { throw new RpcException(m_2.errcode); } if (m_2.result == null) { throw new RpcException(RpcConsts.RPCERROR_TIMEOUT); } }