mirror of
https://github.com/servalproject/serval-dna.git
synced 2024-12-24 07:16:43 +00:00
work towards http transport working for rhizome direct. #9
This commit is contained in:
parent
872b88f744
commit
4f5f2c2444
@ -475,6 +475,11 @@ rhizome_direct_sync_request
|
||||
int rhizome_direct_continue_sync_request(rhizome_direct_sync_request *r);
|
||||
int rhizome_direct_conclude_sync_request(rhizome_direct_sync_request *r);
|
||||
|
||||
typedef struct rhizome_direct_transport_state_http {
|
||||
int port;
|
||||
char host[1024];
|
||||
} rhizome_direct_transport_state_http;
|
||||
|
||||
void rhizome_direct_http_dispatch(rhizome_direct_sync_request *);
|
||||
|
||||
extern unsigned char favicon_bytes[];
|
||||
|
@ -270,9 +270,22 @@ int app_rhizome_direct_sync(int argc, const char *const *argv,
|
||||
/* Get iterator capable of 64KB buffering.
|
||||
In future we should parse the sync URL and base the buffer size on the
|
||||
transport and allowable traffic volumes. */
|
||||
rhizome_direct_transport_state_http
|
||||
*state=calloc(sizeof(rhizome_direct_transport_state_http),1);
|
||||
if (strlen(argv[3])>1020)
|
||||
{
|
||||
DEBUG("rhizome direct URI too long");
|
||||
return -1;
|
||||
}
|
||||
if (sscanf(argv[3],"%[^:]:%d",state->host,&state->port)!=2)
|
||||
{
|
||||
DEBUG("could not parse rhizome direct URI");
|
||||
return -1;
|
||||
}
|
||||
|
||||
rhizome_direct_sync_request
|
||||
*s = rhizome_direct_new_sync_request(rhizome_direct_http_dispatch,
|
||||
65536,0,mode,NULL);
|
||||
65536,0,mode,state);
|
||||
|
||||
rhizome_direct_start_sync_request(s);
|
||||
|
||||
|
@ -480,6 +480,10 @@ int rhizome_direct_parse_http_request(rhizome_http_request *r)
|
||||
void rhizome_direct_http_dispatch(rhizome_direct_sync_request *r)
|
||||
{
|
||||
DEBUGF("Dispatch size_high=%lld",r->cursor->size_high);
|
||||
|
||||
|
||||
|
||||
int sock;
|
||||
|
||||
/* Warning: tail recursion when done this way.
|
||||
Should be triggered by an asynchronous event.
|
||||
|
Loading…
Reference in New Issue
Block a user