public override async Task <CustomSocket> UpsertSocket(CustomSocket request, ServerCallContext context)
        {
            DebugWrite($"RpcCall 'UpsertSocket': '{request}' from {context.Peer}");

            var socketTemplate = new CustomSocket();

            if (_socketCache.EntityExists(request.SocketName))
            {
                socketTemplate = _socketCache.Get(request.SocketName);
            }
            socketTemplate.MergeFrom(request);

            var socket = await _client.UpsertSocketAsync(socketTemplate);

            if (_socketCache.EntityExists(request.SocketName))
            {
                SyncProcessors(SyncProcessorsAction.Remove, _socketCache.Get(request.SocketName));
            }
            SyncProcessors(SyncProcessorsAction.Add, socket);
            _socketCache.Upsert(socket);

            return(socket);
        }