ceremonyclient/bedlam/apps/iotest/iotest.go
Cassandra Heart dbd95bd9e9
v2.1.0 (#439)
* v2.1.0 [omit consensus and adjacent] - this commit will be amended with the full release after the file copy is complete

* 2.1.0 main node rollup
2025-09-30 02:48:15 -05:00

84 lines
1.4 KiB
Go

//
// main.go
//
// Copyright (c) 2023 Markku Rossi
//
// All rights reserved.
//
package main
import (
"fmt"
"io"
"net"
"source.quilibrium.com/quilibrium/monorepo/bedlam/circuit"
"source.quilibrium.com/quilibrium/monorepo/bedlam/ot"
"source.quilibrium.com/quilibrium/monorepo/bedlam/p2p"
)
func evaluatorTestIO(size int64, once bool) error {
ln, err := net.Listen("tcp", port)
if err != nil {
return err
}
fmt.Printf("Listening for connections at %s\n", port)
for {
nc, err := ln.Accept()
if err != nil {
return err
}
fmt.Printf("New connection from %s\n", nc.RemoteAddr())
conn := p2p.NewConn(nc)
for {
var label ot.Label
var labelData ot.LabelData
err = conn.ReceiveLabel(&label, &labelData)
if err != nil {
if err == io.EOF {
break
}
return err
}
}
fmt.Printf("Received: %v\n",
circuit.FileSize(conn.Stats.Sum()).String())
if once {
return nil
}
}
}
func garblerTestIO(size int64) error {
nc, err := net.Dial("tcp", port)
if err != nil {
return err
}
conn := p2p.NewConn(nc)
var sent int64
var label ot.Label
var labelData ot.LabelData
for sent < size {
err = conn.SendLabel(label, &labelData)
if err != nil {
return err
}
sent += int64(len(labelData))
}
if err := conn.Flush(); err != nil {
return err
}
if err := conn.Close(); err != nil {
return err
}
fmt.Printf("Sent: %v\n", circuit.FileSize(conn.Stats.Sum()).String())
return nil
}