Класс: matlab.net.http.io. MultipartConsumer
Пакет: matlab.net.http.io
Процесс следующий буфер данных для MultipartConsumer
[length,stop] = putData(consumer,data)
[ накапливает буферы length,stop] = putData(consumer,data)data, пока целая часть многослойного сообщения не была собрана. Это затем использует поле Content-Type в заголовке части, чтобы найти соответствующего делегата ContentConsumer, который может обработать тот тип, устанавливает свойство Header делегата на заголовок части, и затем вызывает initialize и start в том делегате. Из этого следует, что с одним или несколькими вызовами putData, передающими в полезной нагрузке части, и затем, вызывает putData(uint8.empty), чтобы указать на конец полезной нагрузки.
После итогового вызова putData делегата этот метод создает ResponseMessage, содержащий заголовок части и Body, скопированного с Response.Body в делегате. (Что Body может или не может содержать данные, в зависимости от того, что делает делегат.) Это добавляет, что новый ResponseMessage к массиву объектов ResponseMessage в свойстве Response.Body.Data этого потребителя, который, когда конец сообщения был достигнут, содержит один ResponseMessage для каждой части.
Этот метод является переопределенным методом ContentConsumer.putData. Если вы заменяете этот метод и возвращаете stop=true перед концом сообщения (если data не пуст) в порядке отключить получение сообщения перед нормальным концом сообщения, необходимо постараться не вызывать этот метод суперкласса для последующего вызова putData(uint8.empty), который обычно выполняет тот MATLAB® после того, как вы устанавливаете stop. Отказ сделать так результаты в недопустимом исключении сообщения из MultipartConsumer из-за преждевременного конца сообщения.
Access | public |
ContentConsumer.putData | matlab.net.http.MessageBody | matlab.net.http.ResponseMessage | matlab.net.http.field.ContentTypeField