Skip to content

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

Open
iteyelmp wants to merge 11 commits into
goshard/basefrom
slave-04
Open

qkc/slave 04: implement baseConn and XshardConn compatibility layer#32
iteyelmp wants to merge 11 commits into
goshard/basefrom
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

@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
@iteyelmp
iteyelmp changed the base branch from slave-03 to goshard/base July 29, 2026 07:10
# Conflicts:
#	qkc/cluster/wire/messages_test.go
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