Фильтрация двухуровневой иерархии с помощью содержимого в ODATA-v4

Предупреждение. Этот вопрос относится к старым интерфейсам API таймера ядра ядра Linux. Интерфейс таймера изменился с момента фиксации:

commit e99e88a9d2b067465adaa9c111ada99a041bef9a
Author: Kees Cook <keescook@chromium.org>
Date:   Mon Oct 16 14:43:17 2017 -0700

treewide: setup_timer() -> timer_setup()

This converts all remaining cases of the old setup_timer() API into using
timer_setup(), where the callback argument is the structure already
holding the struct timer_list. These should have no behavioral changes,
since they just change which pointer is passed into the callback with
the same available pointers after conversion. It handles the following
examples, in addition to some other variations.
[..]

Ответ, который я даю, конечно, относится к старым интерфейсам таймера. Новый интерфейс немного отличается и более чистым.

Итак, если вы хотите отличить, какой таймер истекает, вам не следует передавать структуру, такую ​​как struct tmp, содержащую оба таймера, для функции setup_timer .

Другими словами, согласно вашему вопросу, вы настраиваете таймеры с чем-то вроде:

struct tmp t;

setup_timer(&t.a, func, (unsigned long)&t);
setup_timer(&t.b, func, (unsigned long)&t);

Вместо этого вы должны делать:

struct tmp t;

setup_timer(&t.a, func, (unsigned long)&t.a);
setup_timer(&t.b, func, (unsigned long)&t.b);

И затем используйте магию container_of, чтобы перейти от struct timer_list к struct tmp. Я только предполагаю, что этот вопрос мотивирован каким-то домашним заданием, поэтому я оставлю остальных упражнением для читателя. Наслаждайтесь изучением!

1
задан Matt 18 January 2019 в 20:28
поделиться

1 ответ

Вы можете попробовать что-то вроде этого:

Race?$filter=Team/any(y:y/Manufacturer/any(z:z/name eq 'ford' or z/name eq 'chevy' ))&$expand=Team($expand=Manufacturer)

Трудно получить это правильно без конечной точки. Также убедитесь, что ваш контроллер поддерживает глубину расширения не менее 2 .

ТБХ, я не думаю, что это очень практичный способ использовать со временем. Подумайте об использовании статической конечной точки, которая в качестве параметра действует на бренды вашего производителя.

Ура

0
ответ дан lokusking 18 January 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: