twitter/twemproxy — pull request #283 by charsyam (2014-11-27 03:10:31+00:00)
Title: fix delete parsing for memcache

I think we should support memcache delete argument. because memcached delete spec allow arguments.

See process_delete_command in https://github.com/memcached/memcached/blame/master/memcached.c
```c
if (ntokens > 3) {
bool hold_is_zero = strcmp(tokens[KEY_TOKEN+1].value, "0") == 0;
bool sets_noreply = set_noreply_maybe(c, tokens, ntokens);
bool valid = (ntokens == 4 && (hold_is_zero || sets_noreply))
|| (ntokens == 5 && hold_is_zero && sets_noreply);
if (!valid) {
out_string(c, "CLIENT_ERROR bad command line format. "
"Usage: delete [noreply]");
return;
}
}
```

so delete command syntax like below:
```c
delete
delete 0
delete noreply
```

Actually, memcached doesn't handle but, it doesn't return ERROR, just it ignores internally.
so. I just follow current memecached behavior. :)