projectionEstimateChatMessageRetainedBytes function

int projectionEstimateChatMessageRetainedBytes({
  1. required Map<String, Object?> metadata,
  2. required List<ChatInputOmission> omissions,
  3. required int acceptedUtf8Bytes,
  4. required ChatInputBudget inputBudget,
})

Implementation

int projectionEstimateChatMessageRetainedBytes({
  required Map<String, Object?> metadata,
  required List<acp.ChatInputOmission> omissions,
  required int acceptedUtf8Bytes,
  required acp.ChatInputBudget inputBudget,
}) {
  final estimator = acp.ChatRetainedSizeEstimator(budget: inputBudget);
  var retained = projectionCheckedRetainedAdd(
    _chatMessageHostRetainedBytes,
    acceptedUtf8Bytes,
  );
  retained = projectionCheckedRetainedAdd(
    retained,
    projectionEstimateChatMetadataRetainedBytes(estimator, metadata),
  );
  return projectionAddInputOmissionsRetainedBytes(
    retained,
    estimator,
    omissions,
  );
}