主要内容

delegateTo

R2026b

类: matlab.net.http.io.ContentProvider
命名空间: matlab.net.http.io

委托给另一个提供程序

描述

[getDataFnc,length] = delegateTo(provider,delegate,URI) 设置一个 delegate 形式的 ContentProvider 以提供 RequestMessage 中的全部或部分后续数据。此方法使用此对象的属性和提供的参数来初始化代理中的属性(就像要使用该代理传输新消息一样),并调用 delegate 中的 complete、expectedContentLength 和 start 方法。它返回函数 getDataFnc 的句柄,您可以调用该函数从代理中获取数据:

[data, stop] = getDataFcn(length)

其中的参量如 getData 中所述。您可以使用 length 的任何值,但通常在 getData 方法中进行此调用,传递的值与之前为您的方法传递的值相同。

要委托某个提供程序来提供一个消息的全部内容,请在 start 方法中调用 delegateTo。如果您使用代理来获取部分消息内容,请在 putData 方法中的适当时间调用 delegateTo。

要从代理中获取数据,请始终使用返回的 getDataFnc。不要直接调用代理的 getData,因为代理可能通过其他方式提供数据。

[getDataFnc,length] = delegateTo(___,force) 指示 expectedContentLength 方法是否应返回数据的长度。

输入参数

全部展开

内容提供程序,指定为 matlab.net.http.io.ContentProvider 对象。

后续数据的提供程序,指定为 matlab.net.http.io.ContentProvider 对象。

正在处理的请求的目标,指定为 matlab.net.URI 对象。此值是提供给调用方的 complete 方法的 URI。

指示 expectedContentLength 方法是否应返回数据的长度,指定为 true 或 false。delegateTo 方法将此值传递给 expectedContentLength。

输出参量

全部展开

用来从代理中获取数据的函数,以函数句柄形式返回。

expectedContentLength 方法返回的值,以字节形式返回。有关详细信息,请参阅 ContentProvider.expectedContentLength 的 length 输出参量。

属性

Accessprotected

版本历史记录

在 R2018a 中推出