Example #1
0
json_t *dump_inflate_header_table(nghttp2_hd_inflater *inflater) {
  json_t *obj, *entries;
  size_t i;
  size_t len = nghttp2_hd_inflate_get_num_table_entries(inflater);

  obj = json_object();
  entries = json_array();
  /* The first index of dynamic table is 62 */
  for (i = 62; i <= len; ++i) {
    const nghttp2_nv *nv = nghttp2_hd_inflate_get_table_entry(inflater, i);
    json_t *outent = json_object();
    json_object_set_new(outent, "index", json_integer((json_int_t)i));
    dump_val(outent, "name", nv->name, nv->namelen);
    dump_val(outent, "value", nv->value, nv->valuelen);
    json_object_set_new(outent, "size",
                        json_integer((json_int_t)(nv->namelen + nv->valuelen +
                                                  NGHTTP2_HD_ENTRY_OVERHEAD)));
    json_array_append_new(entries, outent);
  }
  json_object_set_new(obj, "entries", entries);
  json_object_set_new(
      obj, "size",
      json_integer(
          (json_int_t)nghttp2_hd_inflate_get_dynamic_table_size(inflater)));
  json_object_set_new(
      obj, "max_size",
      json_integer(
          (json_int_t)nghttp2_hd_inflate_get_max_dynamic_table_size(inflater)));

  return obj;
}
Example #2
0
void dump_animation(animation_t *a) {
  if (a == NULL)
    return;

  printf("Frame{%d", a->frame);
	if (a->trans != NULL) {
		printf(", trans=>");
		dump_val(a->trans);
	}
	if (a->scale != NULL) {
		printf(", scale=>");
		dump_val(a->scale);
	}
	if (a->rot != NULL) {
		printf(", rot=>");
		dump_val(a->rot);
	}
  printf("}\n");
}
Example #3
0
void dump::dump_alu(alu_node *n) {

	if (n->is_copy_mov())
		sblog << "(copy) ";

	if (n->pred) {
		sblog << (n->bc.pred_sel-2) << " [" << *n->pred << "] ";
	}

	sblog << n->bc.op_ptr->name;

	if (n->bc.omod) {
		static const char *omod_str[] = {"", "*2", "*4", "/2"};
		sblog << omod_str[n->bc.omod];
	}

	if (n->bc.clamp) {
		sblog << "_sat";
	}

	bool has_dst = !n->dst.empty();

	sblog << "     ";

	if (has_dst) {
		dump_vec(n->dst);
		sblog << ",    ";
	}

	unsigned s = 0;
	for (vvec::iterator I = n->src.begin(), E = n->src.end(); I != E;
			++I, ++s) {

		bc_alu_src &src = n->bc.src[s];

		if (src.neg)
			sblog << "-";

		if (src.abs)
			sblog << "|";

		dump_val(*I);

		if (src.abs)
			sblog << "|";

		if (I + 1 != E)
			sblog << ", ";
	}

	dump_rels(n->dst);
	dump_rels(n->src);

}
Example #4
0
json_t *dump_header_table(nghttp2_hd_context *context) {
  json_t *obj, *entries;
  size_t i;

  obj = json_object();
  entries = json_array();
  for (i = 0; i < context->hd_table.len; ++i) {
    nghttp2_hd_entry *ent = nghttp2_hd_table_get(context, i);
    json_t *outent = json_object();
    json_object_set_new(outent, "index", json_integer(i + 1));
    dump_val(outent, "name", ent->nv.name, ent->nv.namelen);
    dump_val(outent, "value", ent->nv.value, ent->nv.valuelen);
    json_object_set_new(outent, "size",
                        json_integer(ent->nv.namelen + ent->nv.valuelen +
                                     NGHTTP2_HD_ENTRY_OVERHEAD));
    json_array_append_new(entries, outent);
  }
  json_object_set_new(obj, "entries", entries);
  json_object_set_new(obj, "size", json_integer(context->hd_table_bufsize));
  json_object_set_new(obj, "max_size",
                      json_integer(context->hd_table_bufsize_max));
  return obj;
}