IDL을 정의하고, 여러가지 언어로 skeleton코드변환이 지원된다.
- Async지원 (TNonblockingServer)
- multi-thread지원 (ThreadPoolServer)
- Exception제공
IDL 정의는 REF 참조.
- namespace는 java의 경우, 그대로 package명으로 변환 됨.
- service는 상속이 된다. (interface개념)
- struct는 상속이 안됨. (class개념) - 단 delegation은 됨(다른 struct포함 가능)
- list, set, map이 지원 됨.
- constant, enum, typedef가 지원되면 typedef는 java의경우 replace형태로 변환된다.
간단한 통신예제 : REF
- 서버가 Async인 경우 client에서 TFramedTransport를 사용한다. 위 사이트에서 NobblockingClient 라는게,
Nonblocking 서버에 접속하는 BlokcingClient이다.
Thrift Protocol Stack 그림 - REF