forked from TrueCloudLab/frostfs-sdk-go
[#66] transformer: Accept constructor in NextTarget
The code of frostfs-node is not yet ready to reuse egress target for multiple objects, let's postpone until #64. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
c42a6119ff
commit
d4fe9a193d
3 changed files with 14 additions and 11 deletions
|
@ -20,7 +20,7 @@ func TestTransformer(t *testing.T) {
|
|||
|
||||
tt := new(testTarget)
|
||||
|
||||
target, pk := newPayloadSizeLimiter(maxSize, tt)
|
||||
target, pk := newPayloadSizeLimiter(maxSize, func() ObjectTarget { return tt })
|
||||
|
||||
cnr := cidtest.ID()
|
||||
hdr := newObject(cnr)
|
||||
|
@ -131,7 +131,7 @@ func benchmarkTransformer(b *testing.B, header *objectSDK.Object, payloadSize in
|
|||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
f, _ := newPayloadSizeLimiter(maxSize, benchTarget{})
|
||||
f, _ := newPayloadSizeLimiter(maxSize, func() ObjectTarget { return benchTarget{} })
|
||||
if err := f.WriteHeader(ctx, header); err != nil {
|
||||
b.Fatalf("write header: %v", err)
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ func benchmarkTransformer(b *testing.B, header *objectSDK.Object, payloadSize in
|
|||
}
|
||||
}
|
||||
|
||||
func newPayloadSizeLimiter(maxSize uint64, nextTarget ObjectTarget) (ObjectTarget, *keys.PrivateKey) {
|
||||
func newPayloadSizeLimiter(maxSize uint64, nextTarget func() ObjectTarget) (ObjectTarget, *keys.PrivateKey) {
|
||||
p, err := keys.NewPrivateKey()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
@ -152,7 +152,7 @@ func newPayloadSizeLimiter(maxSize uint64, nextTarget ObjectTarget) (ObjectTarge
|
|||
|
||||
return NewPayloadSizeLimiter(Params{
|
||||
Key: &p.PrivateKey,
|
||||
NextTarget: nextTarget,
|
||||
NextTargetInit: nextTarget,
|
||||
NetworkState: dummyEpochSource(123),
|
||||
MaxSize: maxSize,
|
||||
WithoutHomomorphicHash: true,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue