benchmark/tcp_frame_relay.go
func NewTCPFrameRelay(dests []string, modifier func(bool, *tchannel.Frame) *tchannel.Frame) (Relay, error) {
	var err error
	r := &tcpFrameRelay{modifier: modifier}

	r.tcpRelay, err = newTCPRelay(dests, r.handleConnFrameRelay)
	if err != nil {
		return nil, err
	}

	return r, nil
}
func NewTCPFrameRelay(dests []string, modifier func(bool, *tchannel.Frame) *tchannel.Frame) (Relay, error) {
	var err error
	r := &tcpFrameRelay{modifier: modifier}

	r.tcpRelay, err = newTCPRelay(dests, r.handleConnFrameRelay)
	if err != nil {
		return nil, err
	}

	return r, nil
}
// NewTCPFrameRelay relays frames from one connection to another. It reads
// and writes frames using the TChannel frame functions.