📄 mpdmon.java
字号:
return -1; } } public String[] stripnums(String str) { StringBuffer buf = new StringBuffer(str); String nums = ""; String chars = ""; int i; boolean indigits = false; testfornums: for (i = buf.length() - 1; i >= 0; i--) { if (Character.isDigit(buf.charAt(i))) indigits = true; else { if (indigits) { chars = buf.substring(0,i); nums = buf.substring(i + 1); break testfornums; } if (i == 0) { chars = str; nums = ""; break testfornums; } } } String[] retbuf = {chars,nums}; return retbuf; } public boolean equals(Object o) { NodeCheckBox n = (NodeCheckBox)o; return this.getText().equals(n.getText()); } public NodeCheckBox(String n, boolean i) { super(n,i); } } private class MyrButtonListener extends java.awt.event.MouseAdapter { public void mouseClicked(java.awt.event.MouseEvent e) { myrboxes.setVisible(true); } } private class MemButtonListener extends java.awt.event.MouseAdapter { public void mouseClicked(java.awt.event.MouseEvent e) { memboxes.setVisible(true); } } private class ResetListener extends java.awt.event.MouseAdapter { public void mouseClicked(java.awt.event.MouseEvent e) { myrtable.reset(); } } private class myr_counter_box extends javax.swing.JFrame { public javax.swing.JCheckBox bad_header_cnt; public javax.swing.JCheckBox bad_length_cnt; public javax.swing.JCheckBox netsend_cnt; public javax.swing.JCheckBox netrecv_cnt; public javax.swing.JCheckBox bad_type_cnt; public javax.swing.JCheckBox badcrc_cnt; public javax.swing.JCheckBox badroute_cnt; public javax.swing.JCheckBox bogus_header_cnt; public javax.swing.JCheckBox drop_cnt; public javax.swing.JCheckBox handle_connection_reset_request_cnt; public javax.swing.JCheckBox misrouted_cnt; public javax.swing.JCheckBox nack_cnt; public javax.swing.JCheckBox nack_down_cnt; public javax.swing.JCheckBox nack_ignore_close_connection_cnt; public javax.swing.JCheckBox nack_received_cnt; public javax.swing.JCheckBox nack_reject_cnt; public javax.swing.JCheckBox nack_ignore_open_connection_cnt; public javax.swing.JCheckBox nack_ignored_cnt; public javax.swing.JCheckBox nack_normal_cnt; public javax.swing.JCheckBox nack_receive_close_connection_cnt; public javax.swing.JCheckBox nack_receive_open_connection_cnt; public javax.swing.JCheckBox nack_send_nothing1_cnt; public javax.swing.JCheckBox nack_send_nothing2_cnt; public javax.swing.JCheckBox nack_send_open_connection_cnt; public javax.swing.JCheckBox nack_send_close_connection_cnt; public javax.swing.JCheckBox nack_down_recv_cnt; public javax.swing.JCheckBox nack_down_send_cnt; public javax.swing.JCheckBox no_match_for_datagram_recv_cnt; public javax.swing.JCheckBox no_match_for_ether_recv_cnt; public javax.swing.JCheckBox no_match_for_reliable_recv_cnt; public javax.swing.JCheckBox no_match_for_raw_recv_cnt; public javax.swing.JCheckBox out_of_sequence_cnt; public javax.swing.JCheckBox progress_cnt; public javax.swing.JCheckBox resend_cnt; public javax.swing.JCheckBox short_mapper_config_packet_cnt; public javax.swing.JCheckBox short_mapper_packet_cnt; public javax.swing.JCheckBox short_mapper_scout_packet_cnt; public javax.swing.JCheckBox short_packet_cnt; public javax.swing.JCheckBox used_bogus_send_cnt; public javax.swing.JCheckBox used_bogus_recv_cnt; public javax.swing.JCheckBox zero_len_cnt; private javax.swing.JPanel panel; private javax.swing.JButton OK; public myr_counter_box() { super("Myrinet Counters"); panel = new javax.swing.JPanel(); OK = new javax.swing.JButton("OK"); bad_header_cnt = new javax.swing.JCheckBox("bad_header_cnt",false); bad_length_cnt = new javax.swing.JCheckBox("bad_length_cnt",false); netsend_cnt = new javax.swing.JCheckBox("netsend_cnt",true); netrecv_cnt = new javax.swing.JCheckBox("netrecv_cnt",true); bad_type_cnt = new javax.swing.JCheckBox("bad_type_cnt",false); badcrc_cnt = new javax.swing.JCheckBox("badcrc_cnt",true); badroute_cnt = new javax.swing.JCheckBox("badroute_cnt",true); bogus_header_cnt = new javax.swing.JCheckBox("bogus_header_cnt",false); drop_cnt = new javax.swing.JCheckBox("drop_cnt",true); handle_connection_reset_request_cnt = new javax.swing.JCheckBox("handle_connection_reset_request_cnt",false); misrouted_cnt = new javax.swing.JCheckBox("misrouted_cnt",false); nack_cnt = new javax.swing.JCheckBox("nack_cnt",false); nack_down_cnt = new javax.swing.JCheckBox("nack_down_cnt",false); nack_ignore_close_connection_cnt = new javax.swing.JCheckBox("nack_ignore_close_connection_cnt",false); nack_received_cnt = new javax.swing.JCheckBox("nack_received_cnt",false); nack_reject_cnt = new javax.swing.JCheckBox("nack_reject_cnt",false); nack_ignore_open_connection_cnt = new javax.swing.JCheckBox("nack_ignore_open_connection_cnt",false); nack_ignored_cnt = new javax.swing.JCheckBox("nack_ignored_cnt",false); nack_normal_cnt = new javax.swing.JCheckBox("nack_normal_cnt",false); nack_receive_close_connection_cnt = new javax.swing.JCheckBox("nack_receive_close_connection_cnt",false); nack_receive_open_connection_cnt = new javax.swing.JCheckBox("nack_receive_open_connection_cnt",false); nack_send_nothing1_cnt = new javax.swing.JCheckBox("nack_send_nothing1_cnt",false); nack_send_nothing2_cnt = new javax.swing.JCheckBox("nack_send_nothing2_cnt",false); nack_send_open_connection_cnt = new javax.swing.JCheckBox("nack_send_open_connection_cnt",false); nack_send_close_connection_cnt = new javax.swing.JCheckBox("nack_send_close_connection_cnt",false); nack_down_send_cnt = new javax.swing.JCheckBox("nack_down_send_cnt",false); nack_down_recv_cnt = new javax.swing.JCheckBox("nack_down_recv_cnt",false); no_match_for_datagram_recv_cnt = new javax.swing.JCheckBox("no_match_for_datagram_recv_cnt",false); no_match_for_ether_recv_cnt = new javax.swing.JCheckBox("no_match_for_ether_recv_cnt",false); no_match_for_reliable_recv_cnt = new javax.swing.JCheckBox("no_match_for_reliable_recv_cnt",false); no_match_for_raw_recv_cnt = new javax.swing.JCheckBox("no_match_for_raw_recv_cnt",false); out_of_sequence_cnt = new javax.swing.JCheckBox("out_of_sequence_cnt",false); progress_cnt = new javax.swing.JCheckBox("progress_cnt",false); resend_cnt = new javax.swing.JCheckBox("resend_cnt",true); short_mapper_config_packet_cnt = new javax.swing.JCheckBox("short_mapper_config_packet_cnt",false); short_mapper_packet_cnt = new javax.swing.JCheckBox("short_mapper_packet_cnt",false); short_mapper_scout_packet_cnt = new javax.swing.JCheckBox("short_mapper_scout_packet_cnt",false); short_packet_cnt = new javax.swing.JCheckBox("short_packet_cnt",false); used_bogus_send_cnt = new javax.swing.JCheckBox("used_bogus_send_cnt",false); used_bogus_recv_cnt = new javax.swing.JCheckBox("used_bogus_recv_cnt",false); zero_len_cnt = new javax.swing.JCheckBox("zero_len_cnt",false); this.getContentPane().add(panel); panel.setLayout(new java.awt.GridLayout(21,2)); panel.add(bad_header_cnt); panel.add(bad_length_cnt); panel.add(netsend_cnt); panel.add(netrecv_cnt); panel.add(bad_type_cnt); panel.add(badcrc_cnt); panel.add(badroute_cnt); panel.add(bogus_header_cnt); panel.add(drop_cnt); panel.add(handle_connection_reset_request_cnt); panel.add(misrouted_cnt); panel.add(nack_cnt); panel.add(nack_down_cnt); panel.add(nack_ignore_close_connection_cnt); panel.add(nack_received_cnt); panel.add(nack_reject_cnt); panel.add(nack_ignore_open_connection_cnt); panel.add(nack_ignored_cnt); panel.add(nack_normal_cnt); panel.add(nack_receive_close_connection_cnt); panel.add(nack_receive_open_connection_cnt); panel.add(nack_send_nothing1_cnt); panel.add(nack_send_nothing2_cnt); panel.add(nack_send_open_connection_cnt); panel.add(nack_send_close_connection_cnt); panel.add(nack_down_send_cnt); panel.add(nack_down_recv_cnt); panel.add(no_match_for_datagram_recv_cnt); panel.add(no_match_for_ether_recv_cnt); panel.add(no_match_for_reliable_recv_cnt); panel.add(no_match_for_raw_recv_cnt); panel.add(out_of_sequence_cnt); panel.add(progress_cnt); panel.add(resend_cnt); panel.add(short_mapper_config_packet_cnt); panel.add(short_mapper_packet_cnt); panel.add(short_mapper_scout_packet_cnt); panel.add(short_packet_cnt); panel.add(used_bogus_send_cnt); panel.add(used_bogus_recv_cnt); panel.add(zero_len_cnt); panel.add(OK); this.getRootPane().setDefaultButton(OK); OK.addActionListener(new ButtonListener()); this.pack(); } private class ButtonListener implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent e) { close(); } } private void close() { this.setVisible(false); } } private class mem_counter_box extends javax.swing.JFrame { private javax.swing.JPanel panel; private javax.swing.JButton OK; private javax.swing.JCheckBox MemTotal; private javax.swing.JCheckBox MemFree; private javax.swing.JCheckBox MemShared; private javax.swing.JCheckBox Buffers; private javax.swing.JCheckBox Cached; private javax.swing.JCheckBox Active; private javax.swing.JCheckBox Inact_dirty; private javax.swing.JCheckBox Inact_clean; private javax.swing.JCheckBox Inact_target; private javax.swing.JCheckBox HighTotal; private javax.swing.JCheckBox HighFree; private javax.swing.JCheckBox LowTotal; private javax.swing.JCheckBox LowFree; private javax.swing.JCheckBox SwapTotal; private javax.swing.JCheckBox SwapFree; public mem_counter_box() { panel = new javax.swing.JPanel(); OK = new javax.swing.JButton("OK"); MemTotal = new javax.swing.JCheckBox("MemTotal", true); MemFree = new javax.swing.JCheckBox("MemFree", true); MemShared = new javax.swing.JCheckBox("MemShared", true); Buffers = new javax.swing.JCheckBox("Buffers", true); Cached = new javax.swing.JCheckBox("Cached", true); Active = new javax.swing.JCheckBox("Active", false); Inact_dirty = new javax.swing.JCheckBox("Inact_dirty", false); Inact_clean = new javax.swing.JCheckBox("Inact_clean", false); Inact_target = new javax.swing.JCheckBox("Inact_target", false); HighTotal = new javax.swing.JCheckBox("HighTotal", false); HighFree = new javax.swing.JCheckBox("HighFree", false); LowTotal = new javax.swing.JCheckBox("LowTotal", false); LowFree = new javax.swing.JCheckBox("LowFree", false); SwapTotal = new javax.swing.JCheckBox("SwapTotal", true); SwapFree = new javax.swing.JCheckBox("SwapFree", true); this.getContentPane().add(panel); panel.setLayout(new java.awt.GridLayout(4, 4)); panel.add(MemTotal); panel.add(MemFree); panel.add(MemShared); panel.add(Buffers); panel.add(Cached); panel.add(Active); panel.add(Inact_dirty); panel.add(Inact_clean); panel.add(HighTotal); panel.add(HighFree); panel.add(LowTotal); panel.add(LowFree); panel.add(SwapTotal); panel.add(SwapFree); panel.add(OK); this.pack(); this.getRootPane().setDefaultButton(OK); OK.addActionListener(new ButtonListener()); } private class ButtonListener implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent e) { close(); } } private void close() { this.setVisible(false); } } public int getUpdateTime() { return updatetime; } private Object[] connect(String host, int port, String mpd_id) { String resp; int rand; java.net.Socket sock = null; java.io.InputStreamReader i = null; java.io.OutputStreamWriter out = null; java.io.BufferedReader file_in = null; try { file_in = new java.io.BufferedReader(new java.io.FileReader(System.getProperty("user.home") + "/.mpdpasswd")); } catch (java.io.FileNotFoundException e) { System.err.println("connect: Couldn't find ~/.mpdpasswd file! aborting..."); System.exit(3); } try { sock = new java.net.Socket(host, port); } catch (java.net.UnknownHostException e) { System.err.println("connect: Unknown host! aborting..."); System.exit(1); } catch (java.net.ConnectException e) { System.err.println("connect: Can't connect to " + host + " on specified port " + port + ", aborting..."); System.exit(1); } catch (java.net.NoRouteToHostException e) { System.err.println("connect: No route to host! aborting..."); System.exit(1); } catch (java.io.IOException e) { System.err.println("connect: Connect error! aborting..."); System.exit(1); } try { i = new java.io.InputStreamReader(sock.getInputStream()); } catch (java.io.IOException e) { System.err.println("connect: Can't open input stream for reading! aborting..."); System.exit(1); } try { out = new java.io.OutputStreamWriter(sock.getOutputStream()); } catch (java.io.IOException e) { System.err.println("connect: Can't open output stream for writing! aborting..."); System.exit(1); } try { out.write("cmd=moninfo_conn_req src=jmon version=2 dest=" + mpd_id + "\n"); out.flush(); resp = response(i); rand = Integer.parseInt(resp.substring(resp.indexOf("rand=") + 5, resp.indexOf(" ", resp.indexOf("rand=")))); String pass = file_in.readLine(); String encoded = pass + "\n" + Integer.toString(rand); out.write("src=jmon dest=" + mpd_id + " cmd=new_moninfo_conn encoded_num=" + jcrypt.crypt("el", encoded) + "\n"); out.flush(); resp = response(i); if (resp.indexOf("moninfo_conn_ok") == -1) { System.err.println("connect: got wrong message? This is what I got: " + resp); } } catch (java.io.IOException e) { System.err.println(e); System.err.println("connect: IO exception! This is bad! aborting..."); System.exit(3); } Object[] returnvals = {sock, i, out}; return returnvals; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -