[svn] commit: r215 - in /experiments/jelte-configuration: data.cc session.cc test.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Oct 30 01:08:31 UTC 2009
Author: mgraff
Date: Fri Oct 30 01:08:31 2009
New Revision: 215
Log:
it lives
Modified:
experiments/jelte-configuration/data.cc
experiments/jelte-configuration/session.cc
experiments/jelte-configuration/test.cc
Modified: experiments/jelte-configuration/data.cc
==============================================================================
--- experiments/jelte-configuration/data.cc (original)
+++ experiments/jelte-configuration/data.cc Fri Oct 30 01:08:31 2009
@@ -540,7 +540,7 @@
buf[len] = 0;
item_length -= len;
- return std::string(buf);
+ return std::string(buf, len);
}
ElementPtr
@@ -553,9 +553,10 @@
throw DecodeError();
}
buf[item_length] = 0;
+
+ std::string s = std::string(buf, item_length);
item_length -= item_length;
- std::string s = std::string(buf);
delete [] buf;
return Element::create(s);
}
Modified: experiments/jelte-configuration/session.cc
==============================================================================
--- experiments/jelte-configuration/session.cc (original)
+++ experiments/jelte-configuration/session.cc Fri Oct 30 01:08:31 2009
@@ -103,6 +103,7 @@
wire_stream <<wire;
msg = Element::from_wire(wire_stream, length);
+
return (true);
// XXXMLG handle non-block here, and return false for short reads
}
@@ -110,7 +111,8 @@
void
Session::subscribe(std::string group, std::string instance, std::string subtype)
{
- ElementPtr env;
+ ElementPtr env = Element::create(std::map<std::string, ElementPtr>());
+
env->set("type", Element::create("subscribe"));
env->set("group", Element::create(group));
env->set("instance", Element::create(instance));
@@ -122,7 +124,8 @@
void
Session::unsubscribe(std::string group, std::string instance)
{
- ElementPtr env;
+ ElementPtr env = Element::create(std::map<std::string, ElementPtr>());
+
env->set("type", Element::create("unsubscribe"));
env->set("group", Element::create(group));
env->set("instance", Element::create(instance));
@@ -133,7 +136,8 @@
unsigned int
Session::group_sendmsg(ElementPtr& msg, std::string group, std::string instance, std::string to)
{
- ElementPtr env;
+ ElementPtr env = Element::create(std::map<std::string, ElementPtr>());
+
env->set("type", Element::create("send"));
env->set("from", Element::create(lname));
env->set("to", Element::create(to));
@@ -141,6 +145,7 @@
env->set("instance", Element::create(instance));
env->set("seq", Element::create(sequence));
env->set("msg", Element::create(msg->to_wire()));
+
sendmsg(env);
return (sequence++);
@@ -155,13 +160,15 @@
}
msg = Element::from_wire(envelope->get("msg")->string_value());
+
return (true);
}
unsigned int
Session::reply(ElementPtr& envelope, ElementPtr& newmsg)
{
- ElementPtr env;
+ ElementPtr env = Element::create(std::map<std::string, ElementPtr>());
+
env->set("type", Element::create("send"));
env->set("from", Element::create(lname));
env->set("to", Element::create(envelope->get("from")->string_value()));
@@ -170,6 +177,7 @@
env->set("seq", Element::create(sequence));
env->set("msg", Element::create(newmsg->to_wire()));
env->set("reply", Element::create(envelope->get("seq")->string_value()));
+
sendmsg(env);
return (sequence++);
Modified: experiments/jelte-configuration/test.cc
==============================================================================
--- experiments/jelte-configuration/test.cc (original)
+++ experiments/jelte-configuration/test.cc Fri Oct 30 01:08:31 2009
@@ -120,5 +120,23 @@
ISC::CC::Session session;
session.establish();
+ session.subscribe("test");
+
+ int counter = 0;
+
+ ElementPtr env = Element::create(std::map<std::string, ElementPtr>());
+ env->set("counter", Element::create(counter++));
+
+ while (true) {
+ env->set("counter", Element::create(counter++));
+
+ session.group_sendmsg(env, "test", "foo");
+
+ ElementPtr routing, data;
+ session.group_recvmsg(routing, data, false);
+ cout << "routing: " << routing << endl;
+ cout << "data: " << data << endl;
+ }
+
return 0;
}
More information about the bind10-changes
mailing list