Code
Rust
lock-freeuse std::sync::atomic::{AtomicU64, Ordering::*};
/// Lock-free concurrent counter with overflow protection
pub struct AtomicAccumulator {
state: AtomicU64,
epoch: AtomicU64,
}
impl AtomicAccumulator {
#[inline(always)]
pub fn fetch_add_checked(&self, val: u64) -> Option<u64> {
loop {
let current = self.state.load(Acquire);
let (new_val, overflow) = current.overflowing_add(val);
if overflow {
self.epoch.fetch_add(1, Release);
return None;
}
if self.state.compare_exchange_weak(
current, new_val, AcqRel, Relaxed
).is_ok() {
return Some(new_val);
}
}
}
}Go
circuit-breakerpackage failover
import (
"context"
"sync/atomic"
"time"
)
type CircuitBreaker struct {
failures atomic.Int64
lastFail atomic.Int64
threshold int64
timeout time.Duration
}
func (cb *CircuitBreaker) Allow() bool {
if cb.failures.Load() < cb.threshold {
return true
}
if time.Now().UnixNano()-cb.lastFail.Load() > int64(cb.timeout) {
cb.failures.Store(0)
return true
}
return false
}
func (cb *CircuitBreaker) Execute(ctx context.Context, fn func() error) error {
if !cb.Allow() {
return ErrCircuitOpen
}
if err := fn(); err != nil {
cb.failures.Add(1)
cb.lastFail.Store(time.Now().UnixNano())
return err
}
return nil
}x86 Assembly
AES-NIsection .data
align 64
.sbox: times 256 db 0
section .text
global aes_key_schedule_128
global aes_encrypt_block
; ────────────────────────────────────────────────────
; AES-128 Key Schedule - Rijndael key expansion
; rdi = round_keys[11][16], rsi = key[16]
; ────────────────────────────────────────────────────
aes_key_schedule_128:
push rbx
push r12
movdqu xmm0, [rsi]
movdqa [rdi], xmm0
mov r12, 1
.expand:
aeskeygenassist xmm1, xmm0, 0
call .key_combine
movdqa [rdi + r12*16], xmm0
inc r12
cmp r12, 10
jle .expand
pop r12
pop rbx
ret
.key_combine:
pshufd xmm1, xmm1, 0xff
vpslldq xmm2, xmm0, 4
pxor xmm0, xmm2
vpslldq xmm2, xmm0, 4
pxor xmm0, xmm2
vpslldq xmm2, xmm0, 4
pxor xmm0, xmm2
pxor xmm0, xmm1
ret
; ────────────────────────────────────────────────────
; AES-128 ECB Encrypt - Single block
; rdi = out[16], rsi = in[16], rdx = round_keys
; ────────────────────────────────────────────────────
aes_encrypt_block:
movdqu xmm0, [rsi]
pxor xmm0, [rdx]
aesenc xmm0, [rdx + 16]
aesenc xmm0, [rdx + 32]
aesenc xmm0, [rdx + 48]
aesenc xmm0, [rdx + 64]
aesenc xmm0, [rdx + 80]
aesenc xmm0, [rdx + 96]
aesenc xmm0, [rdx + 112]
aesenc xmm0, [rdx + 128]
aesenc xmm0, [rdx + 144]
aesenclast xmm0, [rdx + 160]
movdqu [rdi], xmm0
ret