Skip to content

do 모듈

uhm0311 edited this page Apr 19, 2022 · 2 revisions

memcached_do(), memcached_vdo()

do 모듈의 진입점은 memcached_do() 함수와 memcached_vdo() 함수입니다.

두 함수는 매개변수로 byte array를 받는지, vector 객체 array를 받는지 차이가 있고 내부 동작은 같습니다.

내부 동작은 다음과 같습니다.

우선 connect 모듈의 memcached_connect() 함수를 호출하여 연결이 되어 있지 않으면 연결을 먼저 수립합니다. 이미 연결이 되어 있는 경우 memcached_connect() 함수에서는 연결 시도를 다시 하지 않고 바로 성공한 것으로 간주합니다.

연결 시도 도중 실패한 경우 해당 에러 코드를 그대로 반환합니다.

연결이 수립됐다면 io 모듈의 함수를 호출합니다. memcached_do() 함수는 memcached_io_write() 함수를, memcached_vdo() 함수는 memcached_io_writev() 함수를 호출합니다.

io 모듈의 함수가 실패했다면 MEMCACHED_WRITE_FAILURE 에러 코드를 반환합니다.