in sam3 stream try many times to accept inbound connection

This commit is contained in:
Jeff Becker
2016-05-07 08:51:59 -04:00
parent 5233589f4a
commit 090712478f

View File

@ -167,7 +167,10 @@ func (l *StreamListener) Accept() (net.Conn, error) {
// accept a new inbound connection
func (l *StreamListener) AcceptI2P() (*SAMConn, error) {
s, err := NewSAM(l.session.samAddr)
if err == nil {
if err != nil {
return nil, err
}
for {
// we connected to sam
// send accept() command
_, err = io.WriteString(s.conn, "STREAM ACCEPT ID="+l.id+" SILENT=false\n")
@ -197,7 +200,12 @@ func (l *StreamListener) AcceptI2P() (*SAMConn, error) {
}
} else {
s.Close()
return nil, err
// try again
s, err = NewSAM(l.session.samAddr)
if err != nil {
return nil, err
}
continue
}
}
s.Close()