1 Commits

Author SHA1 Message Date
idk
bd4cc0b91c Improve startup reliability and efficiency 2020-08-22 01:38:38 -04:00
4 changed files with 16 additions and 24 deletions

View File

@ -1,2 +1,2 @@
i2cp.tcp.host=127.0.0.1
i2cp.tcp.port=7654
i2cp.tcp4.host=127.0.0.1
i2cp.tcp4.port=7654

View File

@ -1,6 +1,6 @@
USER_GH=eyedeekay
VERSION=1.17.002
VERSION=1.17.003
packagename=zerobundle
echo:

View File

@ -67,10 +67,10 @@ func ZeroMain() error {
return err
}
}
if Available() {
if ok, conn := Available(); ok {
log.Println("Starting SAM")
time.Sleep(3 * time.Second)
if err := SAM(); err != nil {
if err := SAM(conn); err != nil {
return err
}
} else {
@ -282,7 +282,7 @@ func StartZeroJavaHome() error {
return cmd.Start()
}
func Available() bool {
func Available() (bool, net.Conn) {
i := 0
for {
conn, err := net.Dial("tcp4", net.JoinHostPort(loopbackInterface(), "8051"))
@ -291,42 +291,34 @@ func Available() bool {
}
if conn != nil {
log.Println("Zero is started.", err)
conn.Close()
return true
return true, conn
}
i++
time.Sleep(time.Duration(i*10) * time.Second)
time.Sleep(time.Duration(5) * time.Second)
}
return false
return false, nil
}
func SAM() error {
for Available() == false {
break
}
tcp4, err := net.Dial("tcp4", net.JoinHostPort(loopbackInterface(), "8051")) //nil, &net.tcp4Addr{IP: nil, Port: 8051})
if err != nil {
return err
}
defer tcp4.Close()
func SAM(conn net.Conn) error {
defer conn.Close()
if runtime.GOOS == "windows" {
tcp4.Write([]byte("sam.create\r\n"))
conn.Write([]byte("sam.create\r\n"))
} else {
tcp4.Write([]byte("sam.create\n"))
conn.Write([]byte("sam.create\n"))
}
i := 0
for {
conn, err := net.Dial("tcp4", net.JoinHostPort(loopbackInterface(), "7656"))
samconn, err := net.Dial("tcp4", net.JoinHostPort(loopbackInterface(), "7656"))
if err != nil {
log.Println("Connecting error:", err)
}
if conn != nil {
if samconn != nil {
log.Println("Started SAM.")
conn.Close()
return nil
}
i++
time.Sleep(time.Duration(i*10) * time.Second)
time.Sleep(time.Duration(5) * time.Second)
}
return fmt.Errorf("Error connecting to %s", "SAM port")
}

BIN
zero

Binary file not shown.