package iowrappers

import (
	"io"
	"log"
)

func SynchronizeStreams(stream1, stream2 io.ReadWriter) {
	waitChannel := make(chan bool)

	go func() {
		defer func() {
			waitChannel <- true
		}()
		_, err := io.Copy(stream1, stream2)
		if err != nil {
			log.Printf("error %v\n", err)
		}
	}()

	go func() {
		defer func() {
			waitChannel <- true
		}()
		_, err := io.Copy(stream2, stream1)
		log.Printf("Error %v\n", err)
	}()

	<-waitChannel
	log.Println("Connection closed")
}