NodeOwn::Demarshal: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры
Возвращаемое значение: Экземпляр NodeOwn, ассоциированный с реализацией INode, созданной на основе прочитанных данных.
Возможные исключения
См. также
(Новая страница: «{{function_begin |NodeOwn Demarshal(const char* pDomainName, size_type cchDomainName, DefinitionFormat nFormat, InputStreamRef is, ControlSystemDomainSideRef cont…») |
|||
Строка 17: | Строка 17: | ||
{{function exceptionlist begin}} | {{function exceptionlist begin}} | ||
{{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_chsv_code_exception_templ.html Chusov::Exceptions::ChsvCodeException]|Исключение, соответствующее коду ошибочного завершения, если последний возвращается функцией [[DemarshalNode]].}} | {{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_chsv_code_exception_templ.html Chusov::Exceptions::ChsvCodeException]|Исключение, соответствующее коду ошибочного завершения, если последний возвращается функцией [[DemarshalNode]].}} | ||
{{function exceptionlist add|[https://www.chusov.org/doxygen/struct_chusov_1_1_exceptions_1_1_invalid_parameter_exception.html Chusov::Exceptions::InvalidParameterException]|Длина идентификатора экземпляра подсистемы предметной области превосходит границу 4Гб.}} | |||
{{function exceptionlist end}} | {{function exceptionlist end}} | ||
{{function_sa_begin}} | {{function_sa_begin}} |
Текущая версия на 23:23, 3 января 2018
NodeOwn Demarshal(const char* pDomainName, size_type cchDomainName, DefinitionFormat nFormat, InputStreamRef is, ControlSystemDomainSideRef control); //1
NodeOwn Demarshal(const char* pszDomainName, DefinitionFormat nFormat, InputStreamRef is, ControlSystemDomainSideRef control); //2
NodeOwn Demarshal(const domain_name_type& strDomainName, DefinitionFormat nFormat, InputStreamRef is, ControlSystemDomainSideRef control); //3
Статическая функция, осуществляющая демаршаллинг узла из входного потока в реализацию INode, ассоциирующая с этой реализацией вновь созданный объект NodeOwn и возвращающая его.
- Идентификатор предметной области задается строкой заданной длины.
- Идентификатор предметной области задается строкой с терминальным нулем.
- Идентификатор предметной области задается типом domain_name_type.
[in] | pDomainName | Указатель на строку с идентификатором экземпляра подсистемы предметной области, для которой осуществляется демаршаллинг. | |||||||||
cchDomainName | Длина строки cchDomainName в байтах. | ||||||||||
[in] | pszDomainName | C-строка с терминальным нулем, задающая идентификатор экземпляра подсистемы предметной области, для которой осуществляется демаршаллинг. | |||||||||
strDomainName | C++-строка domain_name_type, задающая идентификатор экземпляра подсистемы предметной области, для которой осуществляется демаршаллинг. | ||||||||||
nFormat | Формат, в соответствии с которым осуществляется демаршаллинг. Принимает одно из значений
| ||||||||||
is | Поток данных, из которого осуществляется демаршаллинг. | ||||||||||
control | Подсистема управления, в контексте которой осуществляется демаршаллинг. |
Chusov::Exceptions::ChsvCodeException | Исключение, соответствующее коду ошибочного завершения, если последний возвращается функцией DemarshalNode. |
Chusov::Exceptions::InvalidParameterException | Длина идентификатора экземпляра подсистемы предметной области превосходит границу 4Гб. |
DemarshalNode | Осуществляет демаршаллинг адреса вычислительного узла INode из потока чтения и создает прокси-объект, реализующий интерфейс INode и при необходимости делегирующий вызов серверу узла по прочитанному адресу. |
NodeRef::Marshal | Осуществляет маршаллинг узла в выходной поток OutputStreamRef. |