See
http://www.inf.fu-berlin.de/inst/ag-se/theses/Schlott13-saros-concurrency.pdf
chapter 5.4.2
Maybe this now works *better* after we fixed the queuing but I do not
know it really.
And btw, if there is an error in the project negotation (on the
receiving side) you can restart the server if it is not already shutdown
(just look at the IPN executeCancelletion stuff)
... seems not very *server* like.
On 19.12.2013 18:45, Nils Bussas wrote:
I get Franz's argument about the UserStates (though I (like Stefan)
don't think I would break the rules). It would at least be a bit messy
to make a project negotiation in the outOfSession state.
And for the server I would need to add a new state between
outOfSession and inSession (preparingSession or so). But I need to do
that anyway to deal with multiple requests at the same time.
@Stefan:
Under which circumstances can errors/side effects occur, when a
non-host adds a project to the session. You told me to look at
NonHostAddsProjectWithHostAcceptDelayedTest which deals with 3
participants. Are complications possible when only two participants
are in the session?
If not, the solution would simply be to invite the remaining contacts
(others than server and initiator) after the server received the files.
2013/12/19 Stefan Rossbach <srossb...@arcor.de
<mailto:srossb...@arcor.de>>
On 19.12.2013 16:47, Zieris, Franz wrote:
Hi Nils,
> Adding projects while a session is running is problematic,
therefore it must be done in advance.
In advance of what? In a normal Saros session, projects are
always added to running session (i.e. after the
SessionNegotiation, see here
http://www.saros-project.org/userStates).
Well yes, but ONLY the host can do that without errors or unwanted
side effects.
> (Right now I see no case in which the server would refuse the
files but I'd like to be prepared. Tell me if you think this is
unnecessary.)
As you said: If there /is no case/ you could think of, don’t
implement it (keep it simple, you ain’t gonna need it, and so
on). The best you can do is the following: In case you see more
than one possible way to implement the functionality that is
currently wanted, and you want to consider future decisions, than
you should choose the solution that makes it easier to adapt if
actually necessary. (Rather theoretical, I know – the simple
answer is, again, YAGNI).
> 1. Make the project negotiation available, when no session is
running. (Shouldn't be too much work)
Meh, … no. See above: Patrick Schlott introduced the UserStates
for a reason. Don’t be the first to break these newly introduced
rules.
Franz he will not break only rules as this is a plain file
transfer. The sharing will start afterwards with the files that
were transmitted.
E.g: Bob sends Alice project Foo. Alice stores project Foo as Bar
in directory Foobar. Now Alice starts sharing project Foo, maybe
starting a session first.
The only thing Nils have to handle are multiple requests at the
same time.
> 2. Automate the server side (IncomingProjectNegotiation,
possibly a little more work).
This sounds reasonable for the scope of your endeavor/your thesis.
Franz
*From:*Nils Bussas [mailto:nils.bus...@gmail.com]
*Sent:* Thursday, December 19, 2013 3:40 PM
*To:* dpp-devel@lists.sourceforge.net
<mailto:dpp-devel@lists.sourceforge.net>
*Subject:* [DPP-Devel] Send files to server before session start
Hey guys,
I'm currently implementing a Saros server (in form of adding it
as a new feature to the regular Saros). My next step is to make
it possible for the client to send projects (or single files) to
the server, so that the server can use these when it invites
others into the session.
Adding projects while a session is running is problematic,
therefore it must be done in advance.
When this happens, the server has already agreed that it will
start a session for the client that is going to send the files.
I'm not really sure how to do this, so I'd like to have your opinion.
The server should be able to accept or decline the files,
therefore the file list should be sent before the files. (Right
now I see no case in which the server would refuse the files but
I'd like to be prepared. Tell me if you think this is unnecessary.)
When the files are sent, the server will overwrite a local
version of the same project if it already exists. (At the moment
the server can only support one session at a time, so no session
can be running that include the files. (This may/will change in
the future and there are multiple ways to solve the conflicts
that appear when two sessions want to work on the same project. I
don't intend to decide that in my thesis.))
I think it woud be to much (unnecessary) work to implement all
this from scratch when it already exists.
The project negotiation does pretty much what I need (send file
list, accept/refuse files, choose where to save them, save them).
I would only have to alter it in two ways.
1. Make the project negotiation available, when no session is
running. (Shouldn't be too much work)
2. Automate the server side (IncomingProjectNegotiation, possibly
a little more work).
Do you see any problems with that? If yes, do you have any better
suggestions?
Regards,
Nils
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics
Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net <mailto:DPP-Devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/dpp-devel
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel