Почему для RPC используется термин заглушка?

#grpc #rpc

Вопрос:

Википедия говорит

Заглушка в распределенных вычислениях-это фрагмент кода, который преобразует параметры, передаваемые между клиентом и сервером во время удаленного вызова процедуры (RPC).

Как первоначальное значение этого слова stub связано с его функцией в RPC?

Комментарии:

1. В коде слово «заглушка» часто используется для обозначения чего-то, что стоит на месте реальной или окончательной вещи. В контексте RPC заглушка клиента занимает место целевой функции, которая в конечном итоге будет выполнена, позволяя клиенту вызывать заглушку, как если бы это была целевая реализация. По крайней мере, я бы так об этом подумал.

Ответ №1:

Корешок — это короткая часть целого, как корешок билета или остаток использованного карандаша. Эквивалентно, это нечто «сокращенное». В вычислениях заглушка выглядит как метод, но не имеет логики метода. Обработка метода «обрывается» в том смысле, что большая его часть отсутствует. Термин » заглушка «также используется для» заглушек тестов » (он же издевается) и «заглушек методов». Некоторые люди могут вместо этого называть их «дублерами».

Часто встречаются заглушки тестов, но вы, возможно, не так хорошо знакомы с заглушками методов. Заглушки методов-это едва реализованные методы, которые имеют правильные аргументы и возвращают правильный тип значения, но не имеют соответствующей обработки. Например, заглушка для random() функции всегда может return 4 быть . Они распространены в эмуляторах и при первоначальном внедрении системы.

Для RPC заглушка преобразует свои методы, типы запросов и типы ответов в формы, используемые системой RPC. Но фактическая обработка RPC выполняется удаленно. Заглушка-это, по сути, просто функция удобства использования, обеспечивающая внешний вид, при котором удаленный метод присутствует локально.

Комментарии:

1. Спасибо! (Тривиальный)вопрос на самом деле больше о том, почему он называется заглушкой. например, почему бы нам не назвать его чем-то вроде «RPCWrapper» или «RPCAdaptor»?

2. А, ладно. Я расширил ответ.

3. Теперь это имеет для меня большой смысл, большое вам спасибо!