mirror of
https://github.com/servalproject/serval-dna.git
synced 2024-12-18 20:57:56 +00:00
rhizome direct enquiry request now gets back enquiry response,
and realises that it needs to process it. It does not yet process it. #9
This commit is contained in:
parent
9a5dbbd14f
commit
6553050566
@ -384,7 +384,7 @@ struct http_response {
|
||||
unsigned long long content_length;
|
||||
const char * body;
|
||||
};
|
||||
|
||||
int rhizome_server_set_response(rhizome_http_request *r, const struct http_response *h);
|
||||
int rhizome_server_free_http_request(rhizome_http_request *r);
|
||||
int rhizome_server_http_send_bytes(rhizome_http_request *r);
|
||||
int rhizome_server_parse_http_request(rhizome_http_request *r);
|
||||
|
@ -260,7 +260,8 @@ rhizome_direct_bundle_cursor *rhizome_direct_get_fill_response
|
||||
{
|
||||
if (size<10) return NULL;
|
||||
|
||||
rhizome_direct_bundle_cursor *c=calloc(sizeof(rhizome_direct_bundle_cursor),1);
|
||||
rhizome_direct_bundle_cursor *c=rhizome_direct_bundle_iterator(size);
|
||||
assert(c!=NULL);
|
||||
if (rhizome_direct_bundle_iterator_unpickle_range(c,buffer,10))
|
||||
{
|
||||
DEBUGF("Couldn't unpickle range");
|
||||
@ -270,9 +271,10 @@ rhizome_direct_bundle_cursor *rhizome_direct_get_fill_response
|
||||
DEBUGF("unpickled size_high=%lld, limit_size_high=%lld",
|
||||
c->size_high,c->limit_size_high);
|
||||
|
||||
rhizome_direct_bundle_iterator_free(&c);
|
||||
return NULL;
|
||||
int count=rhizome_direct_bundle_iterator_fill(c,-1);
|
||||
DEBUGF("Found %d manifests in that range",count);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
|
@ -137,7 +137,7 @@ int rhizome_direct_form_received(rhizome_http_request *r)
|
||||
assert(r->buffer_offset<1024);
|
||||
|
||||
/* Now append body and send it back. */
|
||||
bcopy(c->buffer,&r->buffer[r->buffer_offset],bytes);
|
||||
bcopy(c->buffer,&r->buffer[r->buffer_length],bytes);
|
||||
r->buffer_length+=bytes;
|
||||
r->buffer_offset=0;
|
||||
|
||||
@ -673,6 +673,7 @@ void rhizome_direct_http_dispatch(rhizome_direct_sync_request *r)
|
||||
while(!http_header_complete(buffer,len,len)&&(len<8192))
|
||||
{
|
||||
int count=read(sock,&buffer[len],8192-len);
|
||||
if (count==0) break;
|
||||
if (count<1) {
|
||||
DEBUGF("errno=%d, count=%d",errno,count);
|
||||
close(sock);
|
||||
@ -734,6 +735,8 @@ void rhizome_direct_http_dispatch(rhizome_direct_sync_request *r)
|
||||
close(sock); goto end;
|
||||
}
|
||||
|
||||
DEBUGF("XXX Reading enquiry response for processing");
|
||||
|
||||
end:
|
||||
/* Warning: tail recursion when done this way.
|
||||
Should be triggered by an asynchronous event.
|
||||
|
Loading…
Reference in New Issue
Block a user