Revision 6c4b3276

View differences:

src/Cache/topo_proto.c
109 109
  return topo_query_peer_header(context, local_cache, dst, protocol, type, NULL, 0, max_peers);
110 110
}
111 111

  
112
int topo_proto_metadata_update(struct topo_context *context, const void *meta, int meta_size)
112
int topo_proto_myentry_update(struct topo_context *context, struct nodeID *s, int dts, const void *meta, int meta_size)
113 113
{
114
  if (cache_metadata_update(context->myEntry, nodeid(context->myEntry, 0), meta, meta_size) > 0) {
115
    return 1;
114
  int ret = 1;
115

  
116
  if (s && !nodeid_equal(nodeid(context->myEntry, 0), s)) {
117
    fprintf(stderr, "ERROR: myEntry change not implemented!\n");	//TODO
118
    exit(1);
119
  }
120

  
121
  if (dts) {
122
    cache_delay(context->myEntry, dts);
116 123
  }
117 124

  
118
  return -1;
125
  if (meta) {
126
    if (cache_metadata_update(context->myEntry, nodeid(context->myEntry, 0), meta, meta_size) <= 0) {
127
      ret = -1;
128
    }
129
  }
130

  
131
  return ret;
132
}
133

  
134
int topo_proto_metadata_update(struct topo_context *context, const void *meta, int meta_size)
135
{
136
  return topo_proto_myentry_update(context, nodeid(context->myEntry, 0), 0 , meta, meta_size);
119 137
}
120 138

  
121 139
struct topo_context* topo_proto_init(struct nodeID *s, const void *meta, int meta_size)
src/Cache/topo_proto.h
10 10
int topo_query_peer_header(struct topo_context *context, const struct peer_cache *local_cache, struct nodeID *dst, int protocol, int type,
11 11
                           uint8_t *header, int header_len, int max_peers);
12 12

  
13
int topo_proto_myentry_update(struct topo_context *context, struct nodeID *s, int dts, const void *meta, int meta_size);
13 14
int topo_proto_metadata_update(struct topo_context *context, const void *meta, int meta_size);
14 15
struct topo_context* topo_proto_init(struct nodeID *s, const void *meta, int meta_size);
15 16

  

Also available in: Unified diff