IInternetConnectionEndPoint

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Точка доступа к удаленному узлу.

Методы
МетодОписание
AddRefИнкрементирует счетчик ссылок на реализацию.
GetConnectionHandlerВозвращает агрегируемую реализацию методов интерфейса IConsequentDataStorage, связанную с одним интернет-соединением между двумя сторонами.
CancelOperationsПрерывает соединение с использованием протокола разрыва, если это возможно, иначе - жестко, и разблокирует любые потоки выполнения, заблокированные доступом к удаленному узлу через связанные с точкой доступа потоки чтения и записи.
GetStatusВозвращает статус соединения с удаленными узлами.
GetOptionВозвращает значение выбранного параметра интернет соединения.
Наследует открыто
КлассОписание
Базовый интерфейс для всех программных интерфейсов.

Интерфейс реализуется точкой доступа к удаленной стороне, соединение с которой устанавливается по некоторому интернет-протоколу транспортного уровня OSI.

Реализация точки доступа агрегирует некоторые реализации накопителей последовательных данных, которые, в свою очередь, реализуют интерфейс IConsequentDataStorage. Доступ к такой реализации осуществляется вызовом метода GetConnectionHandler.

Отношения интерфейса IInternetConnectionEndPoint. На рисунке предполагается использование байтового интернет-протокола, этим обусловлена поддержка байтовых потоков ввода-вывода IInternetConnectionInputByteStream и IInternetConnectionOutputByteStream. Если реализация опирается не на байт-ориентированный транспортный протокол, а, например, на гипертекстовый протокол, поддержка байтовых потоков может отсутствовать: данная ситуация показана на рисунке серыми пунктирными стрелками.

То, на каком этапе устанавливается соединение, определяется реализацией точки доступа.

Для создания точек доступа по протоколу TCP используются функции CreateTCPServer и CreateMultipointTCPServer (для создания сервера) и CreateTCPClient для создания клиента. Соединение устанавливается при первом чтении или записи клиентом в потоки IInputByteStream или IOutputByteStream соответственно.

Для доступа к потокам чтения и записи используется интерфейс IConsequentDataStorage, получаемый с помощью метода GetConnectionHandler, и его методы Read и Write. Для получения более конкретного интерфейса потока используется метод IStream::RepresentAs, наследуемый интерфейсами IInputStream и IOutputStream, реализация которых получается с помощью методов IConsequentDataStorage::Read и IConsequentDataStorage::Write соответственно. В частности, для байт-ориентированных протоколов транспортного уровня реализуется поддержка интерфейсов IInternetConnectionInputByteStream и IInternetConnectionOutputByteStream для чтения и записи байт соответственно.

Для языка C++ существуют адаптеры InternetConnectionEndPointRef и InternetConnectionEndPointOwn, которые облегчают использование точек доступа, реализуя методы, на которые отображены методы интерфейса IInternetConnectionEndPoint.

См. также
IConsequentDataStorageИнтерфейс для чтения и записи в накопитель последовательно расположенных данных.
IInternetConnectionInputByteStreamВходной поток байт, связанный с IP-соединением.
IInternetConnectionOutputByteStreamВыходной поток байт, связанный с IP-соединением.
InternetConnectionEndPointRefСсылочный адаптер, определенный над интерфейсом IInternetConnectionEndPoint.
InternetConnectionEndPointOwnВладеющий адаптер, определенный над интерфейсом IInternetConnectionEndPoint.