Brunet.Security.PeerSec.Symphony.SymphonySecurityOverlord.GetSecureSender C# (CSharp) Method

GetSecureSender() public method

public GetSecureSender ( Address target ) : SecurityAssociation
target Address
return SecurityAssociation
    public SecurityAssociation GetSecureSender(Address target)
    {
      PeerSecAssociation sa = null;
      bool new_sa = false;
      lock(_sync) {
        if(_address_to_sa.ContainsKey(target)) {
          sa = _address_to_sa[target] as PeerSecAssociation;
        } else {
          AHSender sender = new AHExactSender(_node, target);
          sa = base.CreateSecurityAssociation(sender, SecurityPolicy.DefaultSPI, true);
          _address_to_sa[target] = sa;
          _sa_to_address[sa] = target;
          new_sa = true;
        }
      }

      if(new_sa) {
        StartSA(sa);
      }

      return sa;
    }