콘텐츠로 이동

C++ 공개 interface

C++ 계약 목차 | 언어별 interface 목차 | 이전: C++ 시스템 구조 | 다음: C++ HTTP Hosting

C++ 계약 목차

이 디렉토리는 ZLink Framework server의 C++ public interface를 기능별로 소유한다. 공통 Framework spec이 동작을 정하고 다음 문서가 namespace, type, member, template constraint와 기본값을 고정한다.

문서 소유하는 계약과 installed public header
Common runtime dispatch, errors, messaging, codecsworkers의 공통 public type을 정의한다.
Configuration과 host configuration, http, host, DI, module과 planned maintenance·rolling update를 구분하는 relocation 및 shutdown lifecycle public interface를 정의한다.
Channel messaging channelshandlers, topology builder, Object role·capacity·weight와 automatic RID 계약을 정의한다.
Spots Global SpotId·SpotRef, relocation adapter와 callback, Instance Spot cold activation과 User Spot manager를 정의한다.
Actors Global ActorId·ActorRef, relocation adapter, ID-only messaging, manager create와 mutation·bind를 정의한다.
STREAM session streams의 packet session과 Actor가 소유한 bound session의 연동 interface를 정의한다.
Location·Relocation Store·Redis opaque atomic Location Store, immutable Relocation Store, operational query와 공식 Redis provider를 정의한다.
Monitoring application이 사용하는 runtime status·snapshot·health와 structured logging 경계를 정의한다.

zlink/framework.hpp는 위 installed header를 모으는 facade다. Application-facing API에는 Core service handle, claim, receive batch, reply token, service liveness command와 authority/relocation 내부 transaction을 노출하지 않는다. Framework runtime은 설치된 C++ binding의 public raw socket API만 사용한다.

Public generation, revision, epoch와 sequence ordinal의 유효 범위는 1..9223372036854775807이다. C++ type이 std::uint64_t여도 이 범위를 넓히지 않는다. 최대값에 도달하면 Framework는 wrap이나 값 재사용 없이 terminal exhaustion으로 처리한다. 0은 값이 확정되지 않은 상태를 표현하도록 해당 계약이 명시한 경우에만 사용한다.

공개 표면

이 문서 집합에 선언한 Channel, Spot, Actor, STREAM, handler, builder, host, DI, maintenance와 state relocation member가 C++ 11.0 public contract다. Core service handle, dispatch record와 service liveness interval·deadline은 이 계약에 포함하지 않는다.


C++ 계약 목차 | 언어별 interface 목차 | 이전: C++ 시스템 구조 | 다음: C++ HTTP Hosting