API 인터페이스 명세서
클래스 시그니처, 파라미터 타입, 반환값 규격 및 메모리 수명주기 (Termux-Playwright)
핵심 가치 제안 (Why It Matters)
클릭, 스크롤, 로그인, 텍스트 추출까지 사람이 손으로 하는 모든 웹 브라우징을 코드로 제어하는 명령서입니다.
1. 코어 엔진 인터페이스 및 메서드
| 파라미터명 | 데이터 타입 | 기본값 | 필수 여부 | 기능 및 엔지니어링 설명 |
|---|---|---|---|---|
device |
str |
"auto" |
선택 | 하드웨어 가속 백엔드 선택: "auto" (자동 감지), "vulkan" (GPU), "cpu" (NEON). |
threads |
int |
4 |
선택 | 물리 CPU 고성능 빅코어에 바인딩할 워커 스레드 개수. |
shm_buffer |
bool |
True |
선택 | 프로세스 간 제로카피 텐서 스트리밍을 위한 POSIX 공유 메모리 링 버퍼 사용 여부. |
temperature |
float |
0.7 |
선택 | 출력 다양성 및 무작위성 제어 (0.0: 결정론적 고정 ~ 1.2: 고창의성). |
2. 이벤트 라이프사이클 및 스트리밍 콜백
| 예외 클래스 | 시스템 종료 / HTTP 코드 | 발생 조건 및 세부 원인 |
|---|---|---|
HardwareAccelerationError |
종료 코드 71 (EX_OSERR) | Vulkan 디바이스 초기화 실패, 호환되지 않는 GPU 드라이버 버전 또는 셰이더 컴파일 오류. |
MemoryAllocationError |
종료 코드 75 (EX_TEMPFAIL) | 안드로이드 OS DRAM/VRAM 가용 한도 초과 (OOM 킬러 선제 방어). |
ProtocolValidationError |
종료 코드 65 (EX_DATAERR) | 입력 데이터 페이로드 암호화 무결성 또는 스키마 검증 실패. |
3. 저수준 네이티브 커널 연동 명세
| 수명주기 단계 | 메모리 할당 메커니즘 | 소유권 및 안전한 자원 해제 |
|---|---|---|
| 초기화 단계 | shm_open() 및 mmap() 기반 POSIX 공유 메모리 링 버퍼 생성. |
엔진 인스턴스 메모리 풀에 독점 등록되어 상주합니다. |
| 추론 및 연산 단계 | 힙 메모리 재할당 없는 직접 포인터 오프셋 참조 (Zero memcpy). | 프로세스 경계 간 복사 오버헤드 0으로 초고속 전송됩니다. |
| 소멸 및 반납 단계 | RAII 소멸자를 통한 munmap() 및 shm_unlink() 즉시 호출. |
프로세스 재시작 시 메모리 누수가 100% 방지됩니다. |