@@ -43,8 +43,8 @@ type Service struct {
4343 sync sync.RWMutex
4444 signers map [string ]SignerEntry
4545 verifiers map [string ]VerifierEntry
46- storage Storage
4746
47+ storage Storage
4848 deserializer idriver.Deserializer
4949}
5050
@@ -96,19 +96,15 @@ func (o *Service) RegisterSigner(identity driver.Identity, signer driver.Signer,
9696 // store, if a failure happens then remove the entry
9797 if o .storage != nil {
9898 if err := o .storage .StoreSignerInfo (identity , signerInfo ); err != nil {
99- o .sync .Lock ()
100- defer o .sync .Unlock ()
101- delete (o .signers , idHash )
99+ o .deleteSigner (idHash )
102100 return errors .Wrap (err , "failed to store entry in storage for the passed signer" )
103101 }
104102 }
105103
106104 if verifier != nil {
107105 // store verifier
108106 if err := o .RegisterVerifier (identity , verifier ); err != nil {
109- o .sync .Lock ()
110- defer o .sync .Unlock ()
111- delete (o .signers , idHash )
107+ o .deleteSigner (idHash )
112108 return err
113109 }
114110 }
@@ -126,9 +122,9 @@ func (o *Service) RegisterVerifier(identity driver.Identity, verifier driver.Ver
126122
127123 // First check with read lock
128124 idHash := identity .UniqueID ()
129- o .sync .Lock ()
125+ o .sync .RLock ()
130126 v , ok := o .verifiers [idHash ]
131- o .sync .Unlock ()
127+ o .sync .RUnlock ()
132128 if ok {
133129 logger .Warnf ("another verifier bound to [%s]:[%s][%s] from [%s]" , idHash , GetIdentifier (v ), GetIdentifier (verifier ), string (v .DebugStack ))
134130 return nil
@@ -192,18 +188,6 @@ func (o *Service) IsMe(identity driver.Identity) bool {
192188 }
193189 }
194190
195- // last chance, deserialize
196- // signer, err := o.GetSigner(identity)
197- // if err != nil {
198- // if logger.IsEnabledFor(zapcore.DebugLevel) {
199- // logger.Debugf("is me [%s]? no", identity)
200- // }
201- // return false
202- // }
203- // if logger.IsEnabledFor(zapcore.DebugLevel) {
204- // logger.Debugf("is me [%s]? %v", identity, signer != nil)
205- // }
206- // return signer != nil
207191 return false
208192}
209193
@@ -326,6 +310,12 @@ func (o *Service) GetVerifier(identity driver.Identity) (driver.Verifier, error)
326310 return verifier , nil
327311}
328312
313+ func (o * Service ) deleteSigner (id string ) {
314+ o .sync .Lock ()
315+ defer o .sync .Unlock ()
316+ delete (o .signers , id )
317+ }
318+
329319func GetIdentifier (f any ) string {
330320 if f == nil {
331321 return "<nil>"
0 commit comments