public async ValueTask <Shout?> TryExportShoutAsync(OmniSignature signature, CancellationToken cancellationToken = default) { var input = new TryExportShoutRequest(signature); var output = await _axisService.TryExportShoutAsync(input, cancellationToken); return(output.Shout); }
public static string SignatureToString(OmniSignature signature) { using var bytesPipe = new BytesPipe(BytesPool.Shared); signature.Export(bytesPipe.Writer, BytesPool.Shared); var hash = new OmniHash(OmniHashAlgorithmType.Sha2_256, Sha2_256.ComputeHash(bytesPipe.Reader.GetSequence())); return(hash.ToString(ConvertStringType.Base16)); }
public bool Exists(OmniSignature signature) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); return(col.Exists(n => n.Signature == signatureEntity)); } }
public void Delete(OmniSignature signature) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); col.DeleteMany(n => n.Signature == signatureEntity); } }
public PublishedProfileItem?FindOne(OmniSignature signature) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); return(col.FindOne(n => n.Signature == signatureEntity).Export()); } }
public IEnumerable <SubscribedShoutItem> Find(OmniSignature signature) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); return(col.Find(n => n.Signature == signatureEntity).Select(n => n.Export())); } }
public void Delete(OmniSignature signature, string registrant) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); col.DeleteMany(n => n.Signature == signatureEntity && n.Registrant == registrant); } }
public SubscribedShoutItem?FindOne(OmniSignature signature, string registrant) { lock (_lockObject) { var signatureEntity = OmniSignatureEntity.Import(signature); var col = this.GetCollection(); return(col.FindOne(n => n.Signature == signatureEntity && n.Registrant == registrant).Export()); } }
public IEnumerable <UnicastClue> GetUnicastClues(OmniSignature signature) { lock (_lockObject) { var list = new List <UnicastClue>(); foreach (var dic in _UnicastClues.Values) { if (dic.TryGetValue(signature, out var dic2)) { list.AddRange(dic2.Values.SelectMany(n => n)); } } return(list); } }
public BroadcastClue GetBroadcastClue(OmniSignature signature, string type) { lock (_lockObject) { _broadcastTypes[type] = DateTime.UtcNow; if (_BroadcastClues.TryGetValue(type, out var dic)) { if (dic.TryGetValue(signature, out var BroadcastClue)) { return(BroadcastClue); } } return(null); } }
public IEnumerable <BroadcastClue> GetBroadcastClues(OmniSignature signature) { lock (_lockObject) { var list = new List <BroadcastClue>(); foreach (var dic in _BroadcastClues.Values) { if (dic.TryGetValue(signature, out var BroadcastClue)) { list.Add(BroadcastClue); } } return(list); } }
public IEnumerable <UnicastClue> GetUnicastClues(OmniSignature signature, string type) { lock (_lockObject) { _unicastTypes[type] = DateTime.UtcNow; var list = new List <UnicastClue>(); if (_UnicastClues.TryGetValue(type, out var dic)) { if (dic.TryGetValue(signature, out var dic2)) { list.AddRange(dic2.Values.SelectMany(n => n)); } } return(list); } }
public static UnicastClue Create(string type, OmniSignature signature, Timestamp creationTime, Clue clue, OmniDigitalSignature digitalSignature) { var hub = new Hub(); try { var target = new UnicastClue(type, signature, creationTime, clue, null); target.Export(hub.Writer, BufferPool.Shared); hub.Writer.Complete(); var certificate = OmniCertificate.Create(digitalSignature, hub.Reader.GetSequence()); hub.Reader.Complete(); return(new UnicastClue(type, signature, creationTime, clue, certificate)); } finally { hub.Reset(); } }
public Session(IConnection connection, OmniAddress address, SessionHandshakeType handshakeType, OmniSignature signature, string scheme) { this.Connection = connection; this.Address = address; this.HandshakeType = handshakeType; this.Signature = signature; this.Scheme = scheme; }
public async ValueTask UnsubscribeShoutAsync(OmniSignature signature, string registrant, CancellationToken cancellationToken = default) { var input = new UnsubscribeShoutRequest(signature, registrant); await _axisService.UnsubscribeShoutAsync(input, cancellationToken); }