private async Task <(bool, bool, Exception)> EnsureConnectionInternalAsync(MemberInfo member, CancellationToken token, CancellationToken cancellationToken) { Exception exception = null; var wasCanceled = false; using var source = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, token); try { var attempt = await EnsureConnectionAsync(member, source.Token).CfAwait(); if (attempt) { return(true, false, null); } } catch (OperationCanceledException) { wasCanceled = true; } catch (Exception e) { exception = e; } return(false, wasCanceled, exception); }
public static void Encode(ClientMessage clientMessage, Hazelcast.Models.MemberInfo memberInfo) { clientMessage.Append(Frame.CreateBeginStruct()); var initialFrame = new Frame(new byte[InitialFrameSize]); initialFrame.Bytes.WriteGuidL(UuidFieldOffset, memberInfo.Uuid); initialFrame.Bytes.WriteBoolL(LiteMemberFieldOffset, memberInfo.IsLiteMember); clientMessage.Append(initialFrame); AddressCodec.Encode(clientMessage, memberInfo.Address); MapCodec.Encode(clientMessage, memberInfo.Attributes, StringCodec.Encode, StringCodec.Encode); MemberVersionCodec.Encode(clientMessage, memberInfo.Version); MapCodec.Encode(clientMessage, memberInfo.AddressMap, EndpointQualifierCodec.Encode, AddressCodec.Encode); clientMessage.Append(Frame.CreateEndStruct()); }