Skip to content

qkc/slave 04: implement baseConn and XshardConn compatibility layer#32

Open
iteyelmp wants to merge 6 commits into
slave-03from
slave-04
Open

qkc/slave 04: implement baseConn and XshardConn compatibility layer#32
iteyelmp wants to merge 6 commits into
slave-03from
slave-04

Conversation

@iteyelmp

@iteyelmp iteyelmp commented Jul 10, 2026

Copy link
Copy Markdown

This PR introduces the foundational connection layer for cluster communication.

The main goal is to reproduce the Python cluster connection behavior in Go,
while keeping business logic migration out of scope.

Implemented

baseConn

Introduces the common connection abstraction used by future cluster
communication components.

Implemented:

  • frame send/receive lifecycle management
  • RPC request/response framework
  • RPC ID tracking and validation
  • pending RPC management
  • connection close propagation
  • handler dispatch and error handling
  • OpSerializer based payload serialization

XshardConn

Implements slave-to-slave communication on top of baseConn.

Implemented:

  • 0-byte metadata transport for slave-slave connections
  • PING/PONG identity exchange
  • peer identity validation
  • shard list validation
  • xshard transaction request interfaces
  • protocol compatibility stubs for unported business handlers

XshardPool

Adds connection management for xshard peers.

Implemented:

  • shard-indexed connection tracking
  • inbound connection handling
  • duplicate slave detection
  • connection cleanup and shutdown handling

Compatibility

Validated against the Python implementation:

  • frame format compatibility
  • opcode handling
  • serialization behavior
  • RPC request/response matching
  • connection lifecycle behavior

@iteyelmp
iteyelmp changed the base branch from goshard/base to slave-03 July 10, 2026 03:30
@iteyelmp
iteyelmp changed the base branch from slave-03 to goshard/base July 13, 2026 02:24
@iteyelmp
iteyelmp changed the base branch from goshard/base to slave-03 July 16, 2026 09:46
@iteyelmp iteyelmp changed the title qkc/slave 04: implement RpcConn and XshardConn compatibility layer qkc/slave 04: implement baseConn and XshardConn compatibility layer Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant