Bullshitting Blog

개소리하는 블로그

proc-macro 기반 액터 라이브러리 완성

Tags = [ actor ]

선전포고문

전쟁 종결. 이름하여 2.0.0 버전 런칭.

proc-macro와 bincode 인코딩을 이용해서 타입 구애 없이 액터간 메시지 통신 가능하게 함. 물론 send, recv할 때 serialize, deserialize가 일어나긴 하지만, 매크로단에서 처리해 버려서 사용자는 받을 타입만 명시해 주면 됨.

하지만 아직 미흡한 부분이 많다. 메시지를 정기적으로 보낸다던가 하는 기능은 2.0 버전에서 빠짐. 그리고 에러 핸들링도 그냥 expect를 남발해 둔 상태이다. 거기서 그냥 터짐. 또한 함수 넘기는 부분에서 async가 아직 이용이 안된다. future 적절히 못쓰는 사람은 여기서 갖다 버릴 듯. 아, 이전에도 없었지만, 액터의 주소가 중복되는 케이스도 따로 핸들링 안되어 있다. 아, 라이프사이클도 상태는 관리하긴 하지만 getter가 없다. 그리고 recv할 때 따로 타입 기입 안해도 되게 하고 싶음. 요 부분은 TODO로 둘 것.

이제 회사꺼에 적용해야지 개꿀띠

하려다가 불편해서 바로 3.0.0 릴리즈함…

라이프사이클 getter도 넣었고, 주소 체계도 적용해서 “*” 적절히 써서 여러 액터에 한번에 메시지 보내기도 가능해짐. 부모-자식 관계는 물론 엄마친구 관계(?) 로 필터 걸 수도 있다.

2.x.x은 다 은퇴시켰다

역시 2.0은 뭘 해도 안되는구나.