Skip to content

Conversation

gfphoenix78
Copy link
Contributor

The interconnect module is traditionally single-thread. It's hard to refactor/replace the current implementation for thread-safe.

This commit adds hooks to support extensible interconnect. The hooks contain 3 functions in struct ExtInterconnectFuncs:

struct ExtInterconnectFuncs {
void (*init)();
int (*port)();
void (*exit)();
};

init: create socket to receive interconnect packets.
port: return the port number created in init.
exit: disconnect all interconnections and cleanup related resources.

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


The interconnect module is traditionally single-thread. It's hard
to refactor/replace the current implementation for thread-safe.

This commit adds hooks to support extensible interconnect. The hooks
contain 3 functions in struct ExtInterconnectFuncs:

struct ExtInterconnectFuncs {
	void (*init)();
	int (*port)();
	void (*exit)();
};

init: create socket to receive interconnect packets.
port: return the port number created in init.
exit: disconnect all interconnections and cleanup related resources.
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