public SocketSender(Config config) throws IOException { super(new JsonConstruct()); this.mCollectorHost = config.getCollector().getHost(); this.mCollectorPort = config.getCollector().getPort(); Socket socket = new Socket(mCollectorHost, mCollectorPort); OutputStream outputStream = socket.getOutputStream(); mDataOutputStream = new ThreadLocal<BufferedWriter>() { @Override protected BufferedWriter initialValue() { return new BufferedWriter(new OutputStreamWriter(outputStream)); }; }; isFlushOutput = config.getAgentConfig().isFlushOutput(); debug = config.getAgentConfig().isDebug(); }