pub struct PointerHandle {
pub bucket: String,
pub key: String,
pub byte_range: Option<(u64, u64)>,
}Expand description
Stable locator for a single ResidencyLevel::Pointer page’s
backing bytes.
The Phase B incremental derivation can degrade an Evidence page
(or any page whose degradation path permits it) to Pointer and
hand the corresponding PointerHandle to
resolve_pointer on demand. Keeping the handle pure data makes
it serialisable into the page sidecar without dragging the MinIO
client along.
§Examples
use codetether_agent::session::history_sink::PointerHandle;
let handle = PointerHandle {
bucket: "codetether".to_string(),
key: "history/abc-123/history.jsonl".to_string(),
byte_range: Some((0, 512)),
};
assert_eq!(handle.byte_range, Some((0, 512)));Fields§
§bucket: StringS3 bucket name.
key: StringFull object key.
byte_range: Option<(u64, u64)>Optional half-open (start, end) byte range. When None, the
full object is fetched.
Implementations§
Source§impl PointerHandle
impl PointerHandle
Sourcepub fn for_session(config: &HistorySinkConfig, session_id: &str) -> Self
pub fn for_session(config: &HistorySinkConfig, session_id: &str) -> Self
Construct a handle that points at the whole history object for
session_id under the sink’s configured prefix.
Trait Implementations§
Source§impl Clone for PointerHandle
impl Clone for PointerHandle
Source§fn clone(&self) -> PointerHandle
fn clone(&self) -> PointerHandle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PointerHandle
impl Debug for PointerHandle
Source§impl<'de> Deserialize<'de> for PointerHandle
impl<'de> Deserialize<'de> for PointerHandle
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PointerHandle
impl PartialEq for PointerHandle
Source§impl Serialize for PointerHandle
impl Serialize for PointerHandle
impl Eq for PointerHandle
impl StructuralPartialEq for PointerHandle
Auto Trait Implementations§
impl Freeze for PointerHandle
impl RefUnwindSafe for PointerHandle
impl Send for PointerHandle
impl Sync for PointerHandle
impl Unpin for PointerHandle
impl UnsafeUnpin for PointerHandle
impl UnwindSafe for PointerHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more