diff --git a/skynet_harbor.c b/skynet_harbor.c index 9eaec98c..6d730543 100644 --- a/skynet_harbor.c +++ b/skynet_harbor.c @@ -313,6 +313,36 @@ _report_zmq_error(int rc) { } } +static int +_isdecimal(int c) { + return c>='0' && c<='9'; +} + +// Name-updating protocols: +// +// 1) harbor_id=harbor_address +// 2) context_name=context_handle +static int +_split_name(uint8_t *buf, int len, int *np) { + uint8_t *sep; + if (len > 0 && _isdecimal(buf[0])) { + int i=0; + int n=0; + do { + n = n*10 + (buf[i]-'0'); + } while(++izmq_local,&content,0); _report_zmq_error(rc); int sz = zmq_msg_size(&content); - int i; - int n = 0; uint8_t * buffer = zmq_msg_data(&content); - for (i=0;i