Remove legacy persistent BufferHub use case
This CL cleans up unused BufferHub code path. The motivation of doing
this is multifold:
1. Reduces future maintainace cost (e.g. when moving to libgui, there
will be less code to rename and re-style).
2. Removes unnecessary code complexity so that the code base is easier
and cleaner for future new reader to understand.
3. Prepares future work for supporting standalone GraphicBuffer in
BufferHub by avoid future logical and naming conflicts between
legacy PersistentBuffer/Detach/Attach and newly proposed detached
GraphicBuffer in BufferHub.
Bug: 70046255
Bug: 70912269
Test: buffer_hub-test, buffer_hub_queue-test,
buffer_hub_queue_producer-test, dvr_api-test, libgui_test
Change-Id: Ie9a0f55e3f620769bac58c81439d840402451b82
diff --git a/services/vr/bufferhubd/producer_channel.cpp b/services/vr/bufferhubd/producer_channel.cpp
index 716db5e..8160193 100644
--- a/services/vr/bufferhubd/producer_channel.cpp
+++ b/services/vr/bufferhubd/producer_channel.cpp
@@ -145,7 +145,7 @@
return BufferInfo(buffer_id(), consumer_channels_.size(), buffer_.width(),
buffer_.height(), buffer_.layer_count(), buffer_.format(),
buffer_.usage(), pending_consumers_, buffer_state_->load(),
- signaled_mask, metadata_header_->queue_index, name_);
+ signaled_mask, metadata_header_->queue_index);
}
void ProducerChannel::HandleImpulse(Message& message) {
@@ -183,16 +183,6 @@
*this, &ProducerChannel::OnProducerGain, message);
return true;
- case BufferHubRPC::ProducerMakePersistent::Opcode:
- DispatchRemoteMethod<BufferHubRPC::ProducerMakePersistent>(
- *this, &ProducerChannel::OnProducerMakePersistent, message);
- return true;
-
- case BufferHubRPC::ProducerRemovePersistence::Opcode:
- DispatchRemoteMethod<BufferHubRPC::ProducerRemovePersistence>(
- *this, &ProducerChannel::OnRemovePersistence, message);
- return true;
-
default:
return false;
}
@@ -459,50 +449,6 @@
buffer_state_->load(), fence_state_->load());
}
-Status<void> ProducerChannel::OnProducerMakePersistent(Message& message,
- const std::string& name,
- int user_id,
- int group_id) {
- ATRACE_NAME("ProducerChannel::OnProducerMakePersistent");
- ALOGD_IF(TRACE,
- "ProducerChannel::OnProducerMakePersistent: buffer_id=%d name=%s "
- "user_id=%d group_id=%d",
- buffer_id(), name.c_str(), user_id, group_id);
-
- if (name.empty() || (user_id < 0 && user_id != kNoCheckId) ||
- (group_id < 0 && group_id != kNoCheckId)) {
- return ErrorStatus(EINVAL);
- }
-
- // Try to add this buffer with the requested name.
- if (service()->AddNamedBuffer(name, std::static_pointer_cast<ProducerChannel>(
- shared_from_this()))) {
- // If successful, set the requested permissions.
-
- // A value of zero indicates that the ids from the sending process should be
- // used.
- if (user_id == kUseCallerId)
- user_id = message.GetEffectiveUserId();
- if (group_id == kUseCallerId)
- group_id = message.GetEffectiveGroupId();
-
- owner_user_id_ = user_id;
- owner_group_id_ = group_id;
- name_ = name;
- return {};
- } else {
- // Otherwise a buffer with that name already exists.
- return ErrorStatus(EALREADY);
- }
-}
-
-Status<void> ProducerChannel::OnRemovePersistence(Message&) {
- if (service()->RemoveNamedBuffer(*this))
- return {};
- else
- return ErrorStatus(ENOENT);
-}
-
void ProducerChannel::AddConsumer(ConsumerChannel* channel) {
consumer_channels_.push_back(channel);
}
@@ -546,16 +492,6 @@
}
}
-// Returns true if either the user or group ids match the owning ids or both
-// owning ids are not set, in which case access control does not apply.
-bool ProducerChannel::CheckAccess(int euid, int egid) {
- const bool no_check =
- owner_user_id_ == kNoCheckId && owner_group_id_ == kNoCheckId;
- const bool euid_check = euid == owner_user_id_ || euid == kRootId;
- const bool egid_check = egid == owner_group_id_ || egid == kRootId;
- return no_check || euid_check || egid_check;
-}
-
// Returns true if the given parameters match the underlying buffer parameters.
bool ProducerChannel::CheckParameters(uint32_t width, uint32_t height,
uint32_t layer_count, uint32_t format,