nactor icon indicating copy to clipboard operation
nactor copied to clipboard

Tell actor to stop?

Open JediMindtrick opened this issue 10 years ago • 5 comments

Nice little library here.

Question: is there anything implemented to tell the actor to stop processing messages? I've looked at the code and don't see anything there.

I'm working on a hot-swap functionality and need this to be able to tell an actor to stop processing messages and then will also need to get it's mailbox of messages.

Not asking you to implement, just wanted to know if there was anything in there already that I missed. Also, if you have any thoughts on hot-swap, feel free to let me know what they are.

JediMindtrick avatar Apr 11 '15 17:04 JediMindtrick

Hi,

Currently it could stop the actor only if there has exception throw in actor's method. And sorry that hot swap is not supported now.

benlau avatar Apr 11 '15 17:04 benlau

No worries. I actually already have something implemented :) I'm building my project on top of what you started, it can be found here: https://github.com/JediMindtrick/reNactor. I might send along a pull request b/c I did need to implement a few things in "nactor" proper to get hot-swap working. I may also have committed some design atrocities, so when I do send a pull req, feel free to suggest a different way.

JediMindtrick avatar Apr 11 '15 21:04 JediMindtrick

First of all , sorry for late reply. Recently I am busy with another project... Have to work OT for whole week already.

wow. I have only glanced to the patch. You really did a lots to improve the project! It is excellent! I would like to switch to Mocha too but can not arrange time to do so. The improvement of document should also be very helpful.

However, I would like to do a code review before accept the pull request. Wish that I can do it on next week.

By the way , I found that package.json's name field has been changed to rnr?

benlau avatar Apr 18 '15 17:04 benlau

Hey, yeah, no worries about the late reply. Working overtime sucks.

So anyway, I was actually thinking of cancelling the pull request. I don't think I really like what I ended up with implementing for hot-swap (which is in the reNactor repo). I'm starting to implement supervision and realized that it would provide most of the basic functions needed for hot-swap. Also I realized that supervision really needed to be implemented in the core of the project and couldn't be implemented on top like I did with hot-swap. I'm using Akka Supervision to guide my implementation of supervision.

So basically I decided to back up a bit and re-evaluate.

I wasn't sure whether you would be interested in collaborating to push the project forward and that's why in my fork I changed the name (just to avoid confusion) and also the maintainer if you noticed. However, if you like some of the ideas I'm pursuing then I'm more than glad to change the name and/or maintainer back so that you can pull in changes and publish to npm. It's really up to you.

Btw, as of earlier today, I've got all the original tests moved over to mocha.

JediMindtrick avatar Apr 18 '15 20:04 JediMindtrick

:+1:

bluet avatar Apr 18 '15 21:04 bluet