remote_node.c
author Tero Marttila <terom@fixme.fi>
Wed, 27 Aug 2008 21:30:32 +0300
changeset 41 540737bf6bac
parent 26 6d615203d963
permissions -rw-r--r--
sending requests, and partial support for receiving -- incomplete, not tested
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#include <string.h>
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
#include <sys/types.h>
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
#include <sys/socket.h>
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
#include <netdb.h>
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
#include <assert.h>
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
26
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
     7
#include "remote_node.h"
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
#include "common.h"
23
31307efd7e78 new render_threads module, make node_main use it, compiles, not yet tested
Tero Marttila <terom@fixme.fi>
parents: 9
diff changeset
     9
#include "render_net.h"
26
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    10
#include "socket.h"
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
26
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    12
int remote_node_init (struct remote_node *node_info, const char *addr_spec) {
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
    // zero out the struct
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
    memset(node_info, 0, sizeof(*node_info));
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
    // XXX: currently, this is hardcoded to one, but should be automagically discovered
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    node_info->parallel_renders = 1;
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
26
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    19
    // build the endpoint
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    20
    endpoint_init(&node_info->endpoint, RENDER_PORT);
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
26
6d615203d963 support for PF_LOCAL, it works, but needs some more testing/cleanup old code
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    22
    if (endpoint_parse(&node_info->endpoint, addr_spec))
9
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
        return -1;
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
    // success!
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
    node_info->valid = 1;
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    return 0;
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
}
fb6632e6c1bb two new modules, remote_node and remote_pool
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29