Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Deduper ¶
type Deduper interface { // Dedupe attempts to attach the specified info to the provided id. // // If the id has already been claimed, the previous entry is returned. Dedupe(ctx context.Context, id []byte, info *Info) (prev *Info, err error) // Update sets the info for an id, regardless if there's state there. Update(ctx context.Context, id []byte, info *Info) error // Delete deletes the info for an id. // // Deletes are idempotent. Delete(ctx context.Context, id []byte) error }
Deduper allows for the de-duplication of transactions at a higher level based on a de-dupe id.
An empty/nil id should be handled gracefully by implementations, acting as if there was no existing info for the identifier.
type Info ¶
type Info struct { // The transaction signature. // // Note: currently unused, but kept just in case we want further // debugging later. Signature []byte // If the transaction was successful, or final in a // 'positive' way (dupe sig, already submitted, etc), // then this is set. Response *transactionpb.SubmitTransactionResponse // Time of the submission SubmissionTime time.Time }
Click to show internal directories.
Click to hide internal directories.