Well have a look at the RFCs. Stay tuned for more info.
On Tue, Dec 6, 2016 at 6:56 AM, Karan, Cem F CIV USARMY RDECOM ARL (US) <
cem.f.karan.civ@xxxxxxxx> wrote:
Got it; OK, I'll take a look at Mangos and Go this weekend; for this
iteration of the simulator, I probably will stick with C, just because of
the amount of code I've already written (I'm really down to the last little
bits), but for the future Go sounds like a real contender.
It's a shame that nanomsg can't be easily modified to run on a simulator;
I will regretfully have to drop my idea of using nanomsg on top of my
simulator. I am **very** interested in seeing nanomsg's underlying bits
modified so that it operates on messages/packets instead of pure streams;
at that point I could rework my simulator so nanomsg could run on top of
it. We might be able to develop protocols for nanomsg that work on swarms
of real robots! :)
Thanks,
Cem Karan
-----Original Message-----On Behalf Of Garrett D'Amore
From: nanomsg-bounce@xxxxxxxxxxxxx [mailto:nanomsg-bounce@xxxxxxxxxxxxx]
Sent: Monday, December 05, 2016 11:58 PMrun nanomsg on a simulator
To: nanomsg@xxxxxxxxxxxxx
Subject: [nanomsg] Re: [Non-DoD Source] Re: Modifications necessary to
the identity of the sender, and confirm the authenticity of all links
All active links contained in this email were disabled. Please verify
contained within the message prior to copying and pasting the address toa Web browser.
implementing a net.Conn. I would specifically discourage you from
________________________________
You can easily make your own rate limiting thing on top of net.Pipe
using channels… They can be useful, but they’re more about sharing databetween goroutines than doing real communication.
to do what you want too. While it might take you a little bit to
I think it would be pretty darn easy to build a custom mangos transport
figure out the internals, I can build a simple transport in mangos in anhour or two probably. (websocket was built in about 2 hours, then
it took about a day to write all the test validation for certificates…lol.)
<cem.f.karan.civ@xxxxxxxx < Caution-
At any rate, *nanomsg* can’t do any of this stuff yet.
- Garrett
On Mon, Dec 5, 2016 at 11:53 AM, Karan, Cem F CIV USARMY RDECOM ARL (US)
mailto:cem.f.karan.civ@xxxxxxxx ;> > wrote:sure that EXACTLY the right number of bits have gone down the
I agree that it sounds ideal; the only headache I have is making
pipe during the simulation. For example, a channel might have abandwidth of 1000 bits/second. If my simulator time is advanced 1
second, I want to make sure that the channel has transmitted 1000 bits;no more, and no less. If there is a way to make a GO channel
understand how to do that, then I'm in business, otherwise I've gotheadaches.
nanomsg-bounce@xxxxxxxxxxxxx > [Caution-mailto:nanomsg-
Thanks,
Cem Karan
> -----Original Message-----
> From: nanomsg-bounce@xxxxxxxxxxxxx < Caution-mailto:
bounce@xxxxxxxxxxxxx < Caution-mailto:nanomsg-bounce@xxxxxxxxxxxxx ;> ]On Behalf Of Garrett D'Amore
> Sent: Monday, December 05, 2016 2:46 PMnecessary to run nanomsg on a simulator
> To: nanomsg@xxxxxxxxxxxxx < Caution-mailto:nanomsg@xxxxxxxxxxxxx
> Subject: [nanomsg] Re: [Non-DoD Source] Re: Modifications
>verify the identity of the sender, and confirm the authenticity of all
> All active links contained in this email were disabled. Please
linksaddress to a Web browser.
> contained within the message prior to copying and pasting the
>coroutines) in a single process, which itself can be multi-
>
> ________________________________
>
>
>
> You could have a huge number of goroutines (and yes they are
threaded.it is with C. You could use channels, though I wouldn’t necessarily
>
> If you can use Go, then a lot of your life will be easier than
recommendof slow), but you could build your own thing using net.Pipe(). In
> it for performance critical code (channels turn out to be kind
fact, youperformance optimal, but this would give you the ability to use
> could use mangos today, which is probably not perfectly
nanomsg’sor mangos’ custom STAR protocol), as well as some extras that
> messaging patterns (including patterns for broadcasting via BUS
mangosterminate a particular connection, or a whole endpoint — in
> gives you that nanomsg lacks. (For example, it *is* possible to
mangos at anydoing more to accelerate the performance of inproc. (Sadly it still
> time.)
>
> Mangos will be changing to use net.Pipe for inproc as well,
does datathis with multiple real-world computers, which might make it
> copies, but at least we will be eliminating the use of channels.)
>
> One other advantage of using mangos is that you can then use
reasonableIt would also let you use multiple-process & multiple-system
> to use the same messaging for real-world robots in the future.
concurrencymany computers you can bring to bear.)
> to let you build really massive systems (limited only by how
>ARL (US) <cem.f.karan.civ@xxxxxxxx < Caution-
> - Garrett
>
>
> On Mon, Dec 5, 2016 at 11:35 AM, Karan, Cem F CIV USARMY RDECOM
mailto:cem.f.karan.civ@xxxxxxxx ;> < Caution-cem.f.karan.civ@xxxxxxxx > > > wrote:
> Caution-mailto:cem.f.karan.civ@xxxxxxxx ;< Caution-mailto:
>nanomsg-bounce@xxxxxxxxxxxxx > < Caution-Caution-
>
> > -----Original Message-----
> > From: nanomsg-bounce@xxxxxxxxxxxxx < Caution-mailto:
mailto:nanomsg-bounce@xxxxxxxxxxxxx ;< Caution-mailto:nanomsg-bounce@freelists.org > > [Caution-Caution-mailto:nanomsg- ;<
Caution-mailto:nanomsg- ;>Caution-Caution-mailto:nanomsg-bounce@xxxxxxxxxxxxx ;<
> bounce@xxxxxxxxxxxxx < Caution-mailto:bounce@xxxxxxxxxxxxx ;> <
Caution-mailto:nanomsg-bounce@xxxxxxxxxxxxx ;> > ] Onnanomsg@xxxxxxxxxxxxx > < Caution-Caution-
> > Behalf Of Jason E. Aten
> > Sent: Monday, December 05, 2016 1:52 PM
> > To: nanomsg <nanomsg@xxxxxxxxxxxxx < Caution-mailto:
mailto:nanomsg@xxxxxxxxxxxxx ;< Caution-mailto:nanomsg@xxxxxxxxxxxxx ;>Modifications necessary to run
> > Subject: [nanomsg] Re: [Non-DoD Source] Re:
> > nanomsg on a simulatorcode is called for at
> >
> > Hi Cem,
> >
> > For a simulation I don't see why any actual networking
> > all. With a dissertation the conclusion/theory mattersand the
> > implementation should rarely be fully fleshed out.stand out. If it
>
> You're right, I just wanted to make my dissertation really
> is difficult to get nanomsg to do what I want, I'llcontinue with what I have
> and fake it.the mathematics of
>
> > I would skip the implementation details and simply model
> > the simulation using matrices in Matlab or R.point, it still
>
> Matlab and R are too slow (I tried python and Numpy at one
> couldn't handle it).channels and goroutines
>
> > Only if more is required, then model it in Go using
> > (1-3 goroutines per robot), but -- really -- only ifrequired.
> > Again you can do this on a single host, and still bemodeling 100K robots
> > (300K goroutines) without a problem.pretty close to that
>
> Goroutines are coroutines, correct? I've got something
> in C by storing all current state information about arobot within its own
> struct (fake class instance). When a robot is activated,it first checks its
> state, and then decides what to do next. That said, if Iwas writing the
> simulator from scratch today, goroutines (or any otherlanguage that had good
> coroutine support) would DEFINITELY make some aspectseasier!
>the work however you
> > Anyway, just a friendly observation. Best of luck with
> > go at it.
>
> Thank you!
>
> Thanks,
> Cem Karan
>
>
>