code: func (c *Collector) RunFrameworkTCPListener() {
  	fwColLog.Info("Starting TCP listener for framework metric collection")
  	addr, err := net.ResolveTCPAddr("tcp", c.ListenEndpointFlag)
  	if err != nil {
  		fwColLog.Errorf("Failed to parse TCP endpoint '%s': %s", c.ListenEndpointFlag, err)
  	}
  	fwColLog.Debugf("Attempting to bind on %+v", addr)
  	sock, err := net.ListenTCP("tcp", addr)
  	if err != nil {
  		fwColLog.Errorf("Failed to listen on TCP endpoint '%s': %s", c.ListenEndpointFlag, err)
  	}
  	for {
  		fwColLog.Debug("Waiting for connections from Mesos Metrics Module...")
  		conn, err := sock.Accept()
  		if err != nil {
  			fwColLog.Errorf("Failed to accept connection on TCP endpoint '%s': %s\n", c.ListenEndpointFlag, err)
  			continue
  		}
  		fwColLog.Infof("Launching handler for TCP connection from: %+v", conn.RemoteAddr())
  		go c.handleConnection(conn)
  	}
  }
docs: // RunFrameworkTCPListener runs a TCP socket listener which produces Avro
  // records sent to that socket. Expects input which has been formatted in the
  // Avro ODF standard. This function should be run as a gofunc.