Пример #1
0
        public override Task <GetChildrenResponse> GetChildren(
            GetChildrenRequest request, ServerCallContext context)
        {
            var value    = valueStore.GetObject(request.Value.Id);
            var children = value.GetChildren(request.Offset, request.Count);
            var response = new GetChildrenResponse();

            for (uint n = 0; n < children.Count; ++n)
            {
                RemoteValue child = children[(int)n];
                if (child != null)
                {
                    response.Children[n + request.Offset] =
                        GrpcFactoryUtils.CreateValue(child, valueStore.AddObject(child));
                }
            }

            // (internal): Special case for pointers. LLDB names them $"*{value.GetName()}", but
            // Visual Studio just shows an empty name.
            if (value.TypeIsPointerType() && response.Children.ContainsKey(0) &&
                response.Children[0].Name == $"*{value.GetName()}")
            {
                response.Children[0].Name = string.Empty;
            }

            return(Task.FromResult(response));
        }
Пример #2
0
 public Task <GetChildrenResult> GetChildrenAsync(GetChildrenRequest request) =>
 throw new NotSupportedException();
 /// <inheritdoc cref="IZooKeeperClient.GetChildrenAsync"/>
 public static GetChildrenResult GetChildren(this IZooKeeperClient client, GetChildrenRequest request) =>
 client.GetChildrenAsync(request).GetAwaiter().GetResult();
 /// <inheritdoc />
 public Task <GetChildrenResult> GetChildrenAsync(GetChildrenRequest request) =>
 ExecuteOperation(new GetChildrenOperation(request, watcherWrapper));