@@ -12,11 +12,11 @@ import (
1212 "slices"
1313
1414 "github.com/hyperledger-labs/fabric-smart-client/pkg/utils/errors"
15- "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/cache/secondcache"
1615 "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/collections"
1716 "github.com/hyperledger-labs/fabric-token-sdk/token/driver"
1817 idriver "github.com/hyperledger-labs/fabric-token-sdk/token/services/identity/driver"
1918 "github.com/hyperledger-labs/fabric-token-sdk/token/services/logging"
19+ cache2 "github.com/hyperledger-labs/fabric-token-sdk/token/services/utils/cache"
2020 "go.uber.org/zap/zapcore"
2121)
2222
@@ -73,7 +73,7 @@ type Provider struct {
7373
7474 isMeCache cache [bool ]
7575 signers cache [* SignerEntry ]
76- verifiers cache [* VerifierEntry ]
76+ // verifiers cache[*VerifierEntry]
7777}
7878
7979// NewProvider creates a new identity provider implementing the driver.IdentityProvider interface.
@@ -91,9 +91,8 @@ func NewProvider(
9191 enrollmentIDUnmarshaler : enrollmentIDUnmarshaler ,
9292 deserializer : deserializer ,
9393 storage : storage ,
94- isMeCache : secondcache.NewTyped [bool ](5000 ),
95- signers : secondcache.NewTyped [* SignerEntry ](5000 ),
96- verifiers : secondcache.NewTyped [* VerifierEntry ](5000 ),
94+ isMeCache : cache2 .NewNoCache [bool ](),
95+ signers : cache2 .NewNoCache [* SignerEntry ](),
9796 }
9897}
9998
@@ -122,7 +121,6 @@ func (p *Provider) RegisterVerifier(ctx context.Context, identity driver.Identit
122121 if p .Logger .IsEnabledFor (zapcore .DebugLevel ) {
123122 entry .DebugStack = debug .Stack ()
124123 }
125- p .verifiers .Add (idHash , entry )
126124 p .Logger .DebugfContext (ctx , "register verifier to [%s]:[%s]" , idHash , logging .Identifier (v ))
127125 return nil
128126}
@@ -261,28 +259,39 @@ func (p *Provider) areMe(ctx context.Context, identities ...driver.Identity) []s
261259}
262260
263261func (p * Provider ) getSigner (ctx context.Context , identity driver.Identity , idHash string ) (driver.Signer , error ) {
264- // check again the cache
265- entry , ok := p .signers .Get (idHash )
266- if ok {
267- p .Logger .DebugfContext (ctx , "signer for [%s] found" , idHash )
268- return entry .Signer , nil
262+ oneShow := false
263+
264+ if ! oneShow {
265+ // check again the cache
266+ entry , ok := p .signers .Get (idHash )
267+ if ok {
268+ p .Logger .DebugfContext (ctx , "signer for [%s] found" , idHash )
269+ return entry .Signer , nil
270+ }
271+
272+ p .Logger .DebugfContext (ctx , "signer for [%s] not found, try to deserialize" , idHash )
273+ } else {
274+ p .Logger .DebugfContext (ctx , "Skipping cache for one-show id [%s]" , idHash )
269275 }
270276
271- p .Logger .DebugfContext (ctx , "signer for [%s] not found, try to deserialize" , idHash )
272277 // ask the deserializer
273278 signer , err := p .deserializeSigner (ctx , identity )
274279 if err != nil {
275280 return nil , errors .Wrapf (err , "failed deserializing identity for signer [%s]" , identity )
276281 }
277- entry = & SignerEntry {Signer : signer }
278- if p .Logger .IsEnabledFor (zapcore .DebugLevel ) {
279- entry .DebugStack = debug .Stack ()
280- }
281- p .signers .Add (idHash , entry )
282- if err := p .storage .StoreSignerInfo (ctx , identity , nil ); err != nil {
283- return nil , errors .Wrap (err , "failed to store entry in storage for the passed signer" )
282+
283+ if ! oneShow {
284+ entry := & SignerEntry {Signer : signer }
285+ if p .Logger .IsEnabledFor (zapcore .DebugLevel ) {
286+ entry .DebugStack = debug .Stack ()
287+ }
288+ // cache the signer
289+ p .signers .Add (idHash , entry )
290+ if err := p .storage .StoreSignerInfo (ctx , identity , nil ); err != nil {
291+ return nil , errors .Wrap (err , "failed to store entry in storage for the passed signer" )
292+ }
284293 }
285- return entry . Signer , nil
294+ return signer , nil
286295}
287296
288297func (p * Provider ) deserializeSigner (ctx context.Context , identity driver.Identity ) (driver.Signer , error ) {
@@ -337,9 +346,5 @@ func (p *Provider) updateCaches(descriptor *idriver.IdentityDescriptor, alias dr
337346 if p .Logger .IsEnabledFor (zapcore .DebugLevel ) {
338347 entry .DebugStack = debug .Stack ()
339348 }
340- p .verifiers .Add (id , entry )
341- if setAlias {
342- p .verifiers .Add (aliasID , entry )
343- }
344349 }
345350}
0 commit comments