Package org.astrogrid.samp.test
Class Snooper
- java.lang.Object
-
- org.astrogrid.samp.test.Snooper
-
public class Snooper extends java.lang.Object
Subscribes to SAMP messages and logs any received to an output stream. The only responses to messages have samp.status=samp.warning.- Since:
- 4 Sep 2008
- Author:
- Mark Taylor
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map
clientMap_
private static java.util.logging.Logger
logger_
private static byte[]
newline_
private java.io.OutputStream
out_
-
Constructor Summary
Constructors Constructor Description Snooper(ClientProfile profile, Subscriptions subs, java.io.OutputStream out, int autoSec)
Constructor using default metadata.Snooper(ClientProfile profile, Subscriptions subs, Metadata meta, java.io.OutputStream out, int autoSec)
Constructor using custom metadata.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Metadata
createDefaultMetadata()
Returns the default metadata for the Snooper client.private void
log(java.lang.String senderId, Message msg, java.lang.String msgId)
Logs a received message.static void
main(java.lang.String[] args)
Main method.static int
runMain(java.lang.String[] args)
Does the work for the main method.
-
-
-
Constructor Detail
-
Snooper
public Snooper(ClientProfile profile, Subscriptions subs, java.io.OutputStream out, int autoSec)
Constructor using default metadata.- Parameters:
profile
- profilesubs
- subscriptions defining which messages are received and loggedout
- destination stream for logging infoautoSec
- number of seconds between auto connection attempts
-
Snooper
public Snooper(ClientProfile profile, Subscriptions subs, Metadata meta, java.io.OutputStream out, int autoSec)
Constructor using custom metadata.- Parameters:
profile
- profilesubs
- subscriptions defining which messages are received and loggedmeta
- client metadataout
- destination stream for logging infoautoSec
- number of seconds between auto connection attempts
-
-
Method Detail
-
log
private void log(java.lang.String senderId, Message msg, java.lang.String msgId) throws java.io.IOException
Logs a received message.- Parameters:
senderId
- message sender public IDmsg
- message objectmsgId
- message ID for call/response type messages (null for notify type messages)- Throws:
java.io.IOException
-
createDefaultMetadata
public static Metadata createDefaultMetadata()
Returns the default metadata for the Snooper client.- Returns:
- meta
-
main
public static void main(java.lang.String[] args) throws java.io.IOException
Main method. Runs a snooper.- Throws:
java.io.IOException
-
runMain
public static int runMain(java.lang.String[] args) throws java.io.IOException
Does the work for the main method. Use -help flag.- Throws:
java.io.IOException
-
-