public MapPack readMapPack() throws IOException { return (MapPack)readPack(); } public void readFully(byte[] b) throws IOException {
public MapPack readMapPack() throws IOException { return (MapPack)readPack(); } public void readFully(byte[] b) throws IOException {
public MapPack readMapPack() throws IOException { return (MapPack)readPack(); } public void readFully(byte[] b) throws IOException {
public MapPack readMapPack() throws IOException { return (MapPack)readPack(); } public void readFully(byte[] b) throws IOException {
public MapPack readMapPack() throws IOException { return (MapPack)readPack(); } public void readFully(byte[] b) throws IOException {
public List<Pack> process(String cmd, Pack param) { final List<Pack> list = new ArrayList<Pack>(); process(cmd, param, in -> { Pack p = in.readPack(); list.add(p); }); return list; }
public static SpanPack[] toObjects(byte[] buff) throws IOException { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } return (SpanPack[]) arr.toArray(new SpanPack[arr.size()]); }
public static SpanPack[] toObjects(byte[] buff) throws IOException { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } return (SpanPack[]) arr.toArray(new SpanPack[arr.size()]); }
public static SpanPack[] toObjects(byte[] buff) throws IOException { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } return (SpanPack[]) arr.toArray(new SpanPack[arr.size()]); }
public static SpanPack[] toObjects(byte[] buff) throws IOException { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } return (SpanPack[]) arr.toArray(new SpanPack[arr.size()]); }
public static List<SpanPack> toObjectList(byte[] buff) { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); try { while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } } catch (IOException e) { throw new RuntimeException(e); } return arr; } }
public static List<SpanPack> toObjectList(byte[] buff) { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); try { while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } } catch (IOException e) { throw new RuntimeException(e); } return arr; } }
public static List<SpanPack> toObjectList(byte[] buff) { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); try { while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } } catch (IOException e) { throw new RuntimeException(e); } return arr; } }
public static List<SpanPack> toObjectList(byte[] buff) { if (buff == null) return null; ArrayList<SpanPack> arr = new ArrayList<SpanPack>(); DataInputX din = new DataInputX(buff); try { while (din.available() > 0) { arr.add((SpanPack) din.readPack()); } } catch (IOException e) { throw new RuntimeException(e); } return arr; } }
/** * get INetReader to make streaming output from realtime xlogs. * * @param jsonGenerator - low-level streaming json generator * @param countable - to keep xlog count * @return INetReader */ private INetReader getRealTimeXLogReader(JsonGenerator jsonGenerator, int[] countable) { return in -> { Pack p = in.readPack(); if (p.getPackType() == PackEnum.MAP) { //meta data arrive ahead of xlog pack MapPack metaPack = (MapPack) p; jsonGenerator.writeNumberField("xlogLoop", metaPack.getInt(ParamConstant.OFFSET_LOOP)); jsonGenerator.writeNumberField("xlogIndex", metaPack.getInt(ParamConstant.OFFSET_INDEX)); jsonGenerator.writeArrayFieldStart("xlogs"); } else { XLogPack xLogPack = (XLogPack) p; jsonGenerator.writeObject(SXLog.of(xLogPack)); countable[0]++; } }; }
/** * retrieve realtime interaction counter value by objtype of objhash * */ private List<InteractionCounterData> retrieveRealTimeByObjTypeOrObjHashes(final String objType, final Set<Integer> objHashSet, final Server server) { MapPack paramPack = new MapPack(); paramPack.put(ParamConstant.OBJ_TYPE, objType); ListValue objHashLv = paramPack.newList(ParamConstant.OBJ_HASH); if (objHashSet != null) { for (Integer objHash : objHashSet) { objHashLv.add(objHash); } } List<InteractionCounterData> resultList = new ArrayList<>(); try(TcpProxy tcpProxy = TcpProxy.getTcpProxy(server)) { tcpProxy.process(RequestCmd.INTR_COUNTER_REAL_TIME_BY_OBJ, paramPack, in -> { resultList.add(InteractionCounterData.of((InteractionPerfCounterPack) in.readPack(), server.getId())); }); } return resultList; } }
@ServiceHandler(RequestCmd.REMOTE_CONTROL_ALL) public void remoteControlAll(DataInputX din, DataOutputX dout, boolean login) throws IOException { MapPack param = (MapPack) din.readPack(); RemoteControl control = new RemoteControl(// param.getText("command"), // System.currentTimeMillis(), // param, param.getLong("fromSession")); LoginUser[] users = LoginManager.getLoginUserList(); for (int i = 0, len = (users != null ? users.length : 0); i < len; i++) { long session = users[i].session(); RemoteControlManager.add(session, control); } Logger.println("[" + RequestCmd.REMOTE_CONTROL_ALL + "]" + control.commnad() + " from " + LoginManager.getUser(control.commander()).ip()); } @ServiceHandler(RequestCmd.CHECK_JOB)
@ServiceHandler(RequestCmd.SERVER_DB_DELETE) public void deleteDbFiles(DataInputX din, DataOutputX dout, boolean login) throws IOException { String rootPath = DBCtr.getRootPath(); MapPack param = (MapPack) din.readPack(); ListValue fileLv = param.getList("file"); MapPack m = new MapPack(); if (fileLv != null) { for (int i = 0; i < fileLv.size(); i++) { String filename = fileLv.getString(i); File file = new File(rootPath + filename); deleteFiles(file); } m.put("size", fileLv.size()); } dout.writeByte(TcpFlag.HasNEXT); dout.writePack(m); dout.flush(); } @ServiceHandler(RequestCmd.REMOTE_CONTROL)
@ServiceHandler(RequestCmd.CHECK_JOB) public void checkJob(DataInputX din, DataOutputX dout, boolean login) throws IOException { MapPack param = (MapPack) din.readPack(); long session = param.getLong("session"); RemoteControl control = RemoteControlManager.getCommand(session); if (control != null) { TextPack t = new TextPack(); t.text = control.commnad(); dout.writeByte(TcpFlag.HasNEXT); dout.writePack(t); dout.writeByte(TcpFlag.HasNEXT); dout.writePack(control.param()); } } private long collectDirectory(File dir, ListValue nameLv, ListValue sizeLv, ListValue lastModifiedLv,
public static MapPack loginByCleanConnection(int serverId, MapPack param) throws IOException { TcpProxy proxy = new TcpProxy(serverId); proxy.open(); if (proxy.isValid() == false) { return null; } param.put("ip", proxy.getLocalInetAddress().getHostAddress()); DataOutputX out = proxy.getClientTcp().getOutput(); DataInputX in = proxy.getClientTcp().getInput(); try { out.writeText(RequestCmd.LOGIN); out.writeLong(0); out.writePack(param); out.flush(); MapPack pack = null; while (in.readByte() == TcpFlag.HasNEXT) { pack = (MapPack) in.readPack(); } return pack; } finally { proxy.realClose(); } }