```rust
use async_trait::async_trait;
use futures_core::future::BoxFuture;
use std::env;
use std::future::Future;
use std::time::Duration;
use tokio::runtime::Handle;
use ve_tos_rust_sdk::common::init_tracing_log;
use ve_tos_rust_sdk::asynchronous::bucket::BucketAPI;
use ve_tos_rust_sdk::asynchronous::tos;
use ve_tos_rust_sdk::asynchronous::tos::AsyncRuntime;
use ve_tos_rust_sdk::bucket::ListBucketsInput;
[derive(Debug, Default)]
pub struct TokioRuntime {}
[async_trait]
impl AsyncRuntime for TokioRuntime {
type JoinError = tokio::task::JoinError;
async fn sleep(&self, duration: Duration) {
tokio::time::sleep(duration).await;
}
Volcengine Object Storage(TOS) Rust SDK
```rust use async_trait::async_trait; use futures_core::future::BoxFuture; use std::env; use std::future::Future; use std::time::Duration; use tokio::runtime::Handle; use ve_tos_rust_sdk::common::init_tracing_log; use ve_tos_rust_sdk::asynchronous::bucket::BucketAPI; use ve_tos_rust_sdk::asynchronous::tos; use ve_tos_rust_sdk::asynchronous::tos::AsyncRuntime; use ve_tos_rust_sdk::bucket::ListBucketsInput;
[derive(Debug, Default)]
pub struct TokioRuntime {}
[async_trait]
impl AsyncRuntime for TokioRuntime { type JoinError = tokio::task::JoinError; async fn sleep(&self, duration: Duration) { tokio::time::sleep(duration).await; }
}
[tokio::main]
async fn main() { // init log let _guard = init_tracing_log(“info”, “temp/logs”, “app.log”);
}