Skip to content

Commit

Permalink
Remove TimeoutWrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
Tristan-Wilson authored and hkalodner committed Aug 23, 2022
1 parent e387c4b commit 19d8a35
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 33 deletions.
3 changes: 0 additions & 3 deletions arbnode/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -761,9 +761,6 @@ func createNodeImpl(
}
}

if daWriter != nil {
daWriter = das.NewWriterTimeoutWrapper(daWriter, config.DataAvailability.RequestTimeout)
}
daReader = das.NewReaderTimeoutWrapper(daReader, config.DataAvailability.RequestTimeout)

if config.DataAvailability.PanicOnError {
Expand Down
9 changes: 7 additions & 2 deletions das/aggregator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,14 @@ func testConfigurableStorageFailures(t *testing.T, shouldFailAggregation bool) {
backends = append(backends, *details)
}

unwrappedAggregator, err := NewAggregator(ctx, DataAvailabilityConfig{AggregatorConfig: AggregatorConfig{AssumedHonest: assumedHonest}, L1NodeURL: "none"}, backends)
aggregator, err := NewAggregator(
ctx,
DataAvailabilityConfig{
AggregatorConfig: AggregatorConfig{AssumedHonest: assumedHonest},
L1NodeURL: "none",
RequestTimeout: time.Millisecond * 2000,
}, backends)
Require(t, err)
aggregator := WriterTimeoutWrapper{time.Millisecond * 2000, unwrappedAggregator}

rawMsg := []byte("It's time for you to see the fnords.")
cert, err := aggregator.Store(ctx, rawMsg, 0, []byte{})
Expand Down
28 changes: 0 additions & 28 deletions das/timeout_wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,15 @@ import (
"time"

"github.com/ethereum/go-ethereum/common"
"github.com/offchainlabs/nitro/arbstate"
)

type ReaderTimeoutWrapper struct {
t time.Duration
DataAvailabilityServiceReader
}
type WriterTimeoutWrapper struct {
t time.Duration
DataAvailabilityServiceWriter
}

type TimeoutWrapper struct {
ReaderTimeoutWrapper
WriterTimeoutWrapper
}

func NewReaderTimeoutWrapper(dataAvailabilityServiceReader DataAvailabilityServiceReader, t time.Duration) DataAvailabilityServiceReader {
Expand All @@ -32,12 +26,6 @@ func NewReaderTimeoutWrapper(dataAvailabilityServiceReader DataAvailabilityServi
DataAvailabilityServiceReader: dataAvailabilityServiceReader,
}
}
func NewWriterTimeoutWrapper(dataAvailabilityServiceWriter DataAvailabilityServiceWriter, t time.Duration) DataAvailabilityServiceWriter {
return &WriterTimeoutWrapper{
t: t,
DataAvailabilityServiceWriter: dataAvailabilityServiceWriter,
}
}

func (w *ReaderTimeoutWrapper) GetByHash(ctx context.Context, hash common.Hash) ([]byte, error) {
deadlineCtx, cancel := context.WithDeadline(ctx, time.Now().Add(w.t))
Expand All @@ -47,22 +35,6 @@ func (w *ReaderTimeoutWrapper) GetByHash(ctx context.Context, hash common.Hash)
return w.DataAvailabilityServiceReader.GetByHash(deadlineCtx, hash)
}

func (w *WriterTimeoutWrapper) Store(ctx context.Context, message []byte, timeout uint64, sig []byte) (*arbstate.DataAvailabilityCertificate, error) {
deadlineCtx, cancel := context.WithDeadline(ctx, time.Now().Add(w.t))
// In the case of the aggregator, allow goroutines started by Store(...)
// to continue until the end of the deadline even after a result
// has been returned.
go func() {
<-deadlineCtx.Done()
cancel()
}()
return w.DataAvailabilityServiceWriter.Store(deadlineCtx, message, timeout, sig)
}

func (w *ReaderTimeoutWrapper) String() string {
return fmt.Sprintf("ReaderTimeoutWrapper{%v}", w.DataAvailabilityServiceReader)
}

func (w *WriterTimeoutWrapper) String() string {
return fmt.Sprintf("WriterTimeoutWrapper{%v}", w.DataAvailabilityServiceWriter)
}

0 comments on commit 19d8a35

Please sign in to comment.