- Remove gitlinks (160000 mode) for chainfire, flaredb, iam - Add workspace contents as regular tracked files - Update flake.nix to use simple paths instead of builtins.fetchGit This resolves the nix build failure where submodule directories appeared empty in the nix store. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
754 B
Rust
31 lines
754 B
Rust
use crate::tso::TsoOracle;
|
|
use flaredb_proto::pdpb::tso_server::Tso;
|
|
use flaredb_proto::pdpb::{TsoRequest, TsoResponse};
|
|
use std::sync::Arc;
|
|
use tonic::{Request, Response, Status};
|
|
|
|
pub struct TsoServiceImpl {
|
|
oracle: Arc<TsoOracle>,
|
|
}
|
|
|
|
impl TsoServiceImpl {
|
|
pub fn new(oracle: Arc<TsoOracle>) -> Self {
|
|
Self { oracle }
|
|
}
|
|
}
|
|
|
|
#[tonic::async_trait]
|
|
impl Tso for TsoServiceImpl {
|
|
async fn get_timestamp(
|
|
&self,
|
|
request: Request<TsoRequest>,
|
|
) -> Result<Response<TsoResponse>, Status> {
|
|
let req = request.into_inner();
|
|
let count = req.count;
|
|
let ts = self.oracle.get_timestamp(count);
|
|
Ok(Response::new(TsoResponse {
|
|
timestamp: ts,
|
|
count,
|
|
}))
|
|
}
|
|
}
|