blob: 40a85aa09a9e2e95cde2fb67edec388d1143455f [file] [log] [blame]
{{/*
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
*/}}
{{- define "Method:ClientImplOnewayBuffer:WireMessagingHeader" }}
{{ .Docs }}
{{- if .DocComments }}
//
{{- end }}
// Caller provides the backing storage for FIDL message.
::fidl::Status {{ .Name }}({{ RenderParams .RequestArgs }});
{{ end }}
{{- define "Method:ClientImplOnewayBuffer:WireMessagingSource" }}
::fidl::Status {{ .Protocol.WireWeakOnewayBufferClientImpl.NoLeading }}::{{ .Name }}(
{{- RenderParams .RequestArgs }}) {
constexpr uint32_t _buffer_size = ::fidl::AsyncClientMethodBufferSizeInChannel<{{ .Marker }}>();
::fitx::result<::fidl::Error, ::fidl::BufferSpan> _allocation =
_allocator().TryAllocate(_buffer_size);
if (!_allocation.is_ok()) {
return _allocation.error_value();
}
{{ .WireTransactionalRequest }} _request{ {{ RenderForwardParams .RequestArgs }} };
::fidl::unstable::UnownedEncodedMessage<{{ .WireTransactionalRequest }}> _request_message(
_allocation->data, _buffer_size, &_request);
return _client_base()->SendOneWay(_request_message.GetOutgoingMessage());
}
{{- end }}