Skip to content

Commit

Permalink
WIP: Reduce visibility scope of types after sidecar::interface refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
ekump committed May 6, 2024
1 parent 4d24528 commit d25e068
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 35 deletions.
29 changes: 13 additions & 16 deletions sidecar-ffi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,20 @@ use datadog_sidecar::agent_remote_config::{
};
use datadog_sidecar::config;
use datadog_sidecar::config::LogMethod;
use datadog_sidecar::one_way_shared_memory::{OneWayShmReader, ReaderOpener};
use datadog_sidecar::service::{
blocking::{self, SidecarTransport},
InstanceId, QueueId, RuntimeMetadata, SerializedTracerHeaderTags, SessionConfig, SidecarAction,
};
use ddcommon::Endpoint;
use ddcommon_ffi as ffi;
use ddcommon_ffi::MaybeError;
use ddtelemetry::{
data::{self, Dependency, Integration},
worker::{LifecycleAction, TelemetryActions},
};
use ddtelemetry_ffi::try_c;
use ffi::slice::AsBytes;
use libc::c_char;
use std::convert::TryInto;
use std::ffi::c_void;
Expand All @@ -21,22 +34,6 @@ use std::os::windows::io::{FromRawHandle, RawHandle};
use std::slice;
use std::time::Duration;

use datadog_sidecar::service::{
InstanceId, QueueId, RuntimeMetadata, SerializedTracerHeaderTags, SessionConfig, SidecarAction,
};

use datadog_sidecar::one_way_shared_memory::{OneWayShmReader, ReaderOpener};
use datadog_sidecar::service::blocking::{self, SidecarTransport};
use ddcommon::Endpoint;
use ddtelemetry::{
data::{self, Dependency, Integration},
worker::{LifecycleAction, TelemetryActions},
};
use ffi::slice::AsBytes;

use ddcommon_ffi::MaybeError;
use ddtelemetry_ffi::try_c;

#[repr(C)]
pub struct NativeFile {
pub handle: Box<PlatformHandle<File>>,
Expand Down
30 changes: 17 additions & 13 deletions sidecar/src/service/mod.rs
Original file line number Diff line number Diff line change
@@ -1,40 +1,44 @@
// Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
// SPDX-License-Identifier: Apache-2.0

// imports for structs defined in this file
use crate::config;
use crate::service::telemetry::enqueued_telemetry_data::EnqueuedTelemetryData;
use ddcommon::tag::Tag;
use ddcommon::Endpoint;
use ddtelemetry::metrics::MetricContext;
use ddtelemetry::worker::TelemetryActions;
use futures::future::Shared;
pub use instance_id::InstanceId;
use manual_future::ManualFuture;
pub use queue_id::QueueId;
pub use request_identification::{RequestIdentification, RequestIdentifier};
pub use runtime_info::{RuntimeInfo, SharedAppManualFut};
pub use runtime_metadata::RuntimeMetadata;
use serde::{Deserialize, Serialize};
pub use serialized_tracer_header_tags::SerializedTracerHeaderTags;
pub use session_info::SessionInfo;
pub use sidecar_interface::{
SidecarInterface, SidecarInterfaceClient, SidecarInterfaceRequest, SidecarInterfaceResponse,
};
pub use sidecar_server::SidecarServer;
use std::path::PathBuf;
use std::time::Duration;

// public types we want to bring up to top level of service:: scope
pub use instance_id::InstanceId;
pub use queue_id::QueueId;
pub use runtime_metadata::RuntimeMetadata;
pub use serialized_tracer_header_tags::SerializedTracerHeaderTags;

// public to crate types we want to bring up to top level of service:: scope
pub(crate) use request_identification::{RequestIdentification, RequestIdentifier};
pub(crate) use sidecar_server::SidecarServer;

use runtime_info::RuntimeInfo;
use session_info::SessionInfo;
use sidecar_interface::{SidecarInterface, SidecarInterfaceRequest, SidecarInterfaceResponse};

pub mod blocking;
mod instance_id;
pub mod queue_id;
mod queue_id;
mod request_identification;
mod runtime_info;
mod runtime_metadata;
mod serialized_tracer_header_tags;
mod session_info;
mod sidecar_interface;
mod sidecar_server;
pub mod telemetry;
mod telemetry;
pub(crate) mod tracing;

#[derive(Clone, Debug, Serialize, Deserialize)]
Expand Down
4 changes: 2 additions & 2 deletions sidecar/src/service/request_identification.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
use crate::service::InstanceId;

/// The `RequestIdentification` trait provides a method for extracting a request identifier.
pub trait RequestIdentification {
pub(crate) trait RequestIdentification {
/// Extracts the identifier from the request.
///
/// # Returns
Expand All @@ -17,7 +17,7 @@ pub trait RequestIdentification {
///
/// This enum is used in conjunction with the `RequestIdentification` trait to provide a flexible
/// way of identifying a request.
pub enum RequestIdentifier {
pub(crate) enum RequestIdentifier {
/// Represents a request identified by an instance ID.
InstanceId(InstanceId),
/// Represents a request identified by a session ID.
Expand Down
8 changes: 4 additions & 4 deletions sidecar/src/service/runtime_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ pub struct SharedAppManualFut {
/// Each app is represented by a shared future that may contain an `Option<AppInstance>`.
/// Each action is represented by an `AppOrQueue` enum.
#[derive(Clone, Default)]
pub struct RuntimeInfo {
pub(crate) struct RuntimeInfo {
pub(crate) apps: AppMap,
app_or_actions: Arc<Mutex<HashMap<QueueId, AppOrQueue>>>,
#[cfg(feature = "tracing")]
pub instance_id: InstanceId,
pub(crate) instance_id: InstanceId,
}

// TODO-EK: Can this be refactored more before merging? We may be able to encapsulate some of the
Expand Down Expand Up @@ -73,7 +73,7 @@ impl RuntimeInfo {
}
/// Shuts down the runtime.
/// This involves shutting down all the instances in the runtime.
pub async fn shutdown(self) {
pub(crate) async fn shutdown(self) {
#[cfg(feature = "tracing")]
info!(
"Shutting down runtime_id {} for session {}",
Expand Down Expand Up @@ -136,4 +136,4 @@ impl RuntimeInfo {
}
}

// TODO-EK: Add tests for RuntimeInfo or add TODO comment before merging
// TODO: APM-1079 - Add unit tests for RuntimeInfo

0 comments on commit d25e068

Please sign in to comment.