goby / retlang Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/retlang
Automatically exported from code.google.com/p/retlang
It is impossible to create generic code that use interfaces and then decide to
use the event model (Channel) or queue model (QueueChannel) later.
Proposal: drop the IQueueChannel interface altogether and have QueueChannel
implement IChannel.
Alternative Proposal: have IQueueChannel be the base interface and IChannel
inherit from that.
IQueueChannel has two methods and no sub-interfaces:
* void Publish(T message)
* IDisposable Subscribe(IExecutionContext, Action<T>)
IChannel has the same two methods (note: IExecutionContext is an IFiber in this
case, but IFiber is an IExecutionContext) along with a set of other
subscription models. There is no reason why there has to be the separation.
Original issue reported on code.google.com by [email protected]
on 22 Mar 2011 at 5:20
Line 119 of Channel.cs is:
get { return _subscribers == null ? 0 :
_subscribers.GetInvocationList().Length; }
This will throw a NullReferenceException if ClearSubscribers() is called on
another thread while NumSubscribers is executing. I suggest changing this to:
get {
event Action<T> safeSubscribers = _subscribers;
return safeSubscribers == null ? 0 : safeSubscribers.GetInvocationList().Length;
}
Original issue reported on code.google.com by [email protected]
on 18 May 2011 at 8:42
-
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 7:46
Attachments:
Not sure if this is an issue or just different ways of using Retlang but I
wanted to bring it to your attention.
Previous to the introduction of ISubscriptionRegistry and related changes, any
subscriptions to a Channel would only be held by the Channel. We relied on this
behavior to avoid having to unsubscribe/dispose any subscriptions to a Channel
as the lifetime of the Channel and the objects that were subscribing to it were
generally tied together.
With the current behavior all subscriptions to a Channel are registered on the
fiber (via ISubscriptionsRegistry) and so they will be held for the lifetime of
the fiber or until we unsubscribe/dispose them.
Obviously, the answer is to ensure we unsubscribe/dispose all our subscriptions
but it was very convenient for us to not have to.
I've worked around the problem by simply removing the RegesterSubscription line
from Channel.
Original issue reported on code.google.com by leafgarland
on 16 May 2011 at 11:45
-
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 7:48
Attachments:
The TimeSpan struct is much more useful for writing comprehensible code, and it
is already used in the .Net libraries for thread scheduling.
I would much rather write something like this:
channel.SubscribeToBatch(fiber, this.DoSomething, TimeSpan.FromMinutes(1));
than something like this:
channel.SubscribeToBatch(fiber, this.DoSomething, 1000 * 60);
It also avoids the inconsistency you have from SubscribeToBatch (using
int/Int32) and Scheduler (using long/Int64).
Original issue reported on code.google.com by [email protected]
on 22 Mar 2011 at 5:32
the attached patch should restore the compatibility with silverlight and
keep ThreadPriority for the full framework
Original issue reported on code.google.com by [email protected]
on 26 Dec 2009 at 2:36
Attachments:
SnapshotChannel.PrimedSubscribe do not return an IUnsubscriber.
Original issue reported on code.google.com by [email protected]
on 10 Nov 2010 at 2:49
Attachments:
What steps will reproduce the problem?
1. open solution in vs 2008
2. hit build
3. get error
What is the expected output? What do you see instead?
expecting successful build ;)
What version of the product are you using? On what operating system?
trunk
Please provide any additional information below.
all you need to do is include AsyncRequestSubscriber.cs in the project and
all is well.
Index: retlang-read-only/src/Retlang/Retlang_2008.csproj
===================================================================
--- retlang-read-only/src/Retlang/Retlang_2008.csproj (Revision 197)
+++ retlang-read-only/src/Retlang/Retlang_2008.csproj (Arbeitskopie)
@@ -58,6 +58,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="AsyncRequestSubscriber.cs" />
<Compile Include="BatchSubscriber.cs" />
<Compile Include="BinaryTransferEnvelope.cs" />
<Compile Include="CommandQueue.cs" />
Original issue reported on code.google.com by [email protected]
on 4 Jan 2008 at 9:23
What steps will reproduce the problem?
1. MonoDevelop -> Project -> Build Solution
What is the expected output? What do you see instead?
Build Complete
The method signature is:
public IUnsubscriber
SubscribeOnProducerThreads(IProducerThreadSubscriber<T> subscriber)
{
return
SubscribeOnProducerThreads(subscriber.ReceiveOnProducerThread);
}
[Task:File=/home/andrew/source/Retlang/src/Retlang/Channels/Channel.cs,
Line=94, Column=58, Type=Error, Priority=Normal, Description=Method
`Retlang.Channels.IProducerThreadSubscriber`1[T].ReceiveOnProducerThread()'
is referenced without parentheses(CS0654)]
What version of the product are you using? On what operating system?
4.0.0 (BETA?) - latest subversion get
Ubuntu 8.04
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 22 Nov 2008 at 5:27
What steps will reproduce the problem?
1. Download Retlang binary .zip download
2. Add reference in Visual Studio to Retlang DLL
3. When referencing Retlang types and methods Visual Studio does not
provide documentation provided by XML comments in Retlang code.
What is the expected output? What do you see instead?
It'd be nice to have the inline documentation.
What version of the product are you using? On what operating system?
0.4.4
Please provide any additional information below.
Low priority, but it'd be a nice, easy addition rather than having to keep
jumping between VS.NET and the CHM documentation.
Original issue reported on code.google.com by [email protected]
on 11 Mar 2010 at 8:05
What steps will reproduce the problem?
1. add a new Silverlight library project named Retlang.SL_2008.csproj to
Retlang_2008.sln
2. recreate the same folder structure in the new projects as in
Retlang_2008.csproj
3. add as links all files from Retlang_2008.csproj (except FormFiber.cs)
to the corresponding folders in the new project
4. compile the new project
What is the expected output? What do you see instead?
Retlang.SL_2008.csproj doesn't compile because there is no SortedList<>
and Stopwatch classes in Silverlight
What version of the product are you using? On what operating system?
0.4.2 and 0.4.3. The later introduces another compilation error in
ThreadFiber but the patch submitted in the issue #6 takes care of it.
Please provide any additional information below.
As a temporary workaround I added to the SL project the first SL
implementation of Stopwatch I saw on the Internet:
http://blog.tiaan.com/link/2009/02/03/stopwatch-silverlight
and there is at least one more available:
http://www.wiredprairie.us/blog/index.php/archives/723
Then, just to make sure everything else works, I defined sorted list as
public class SortedList<TKey, TValue> : Dictionary<TKey, TValue>
{}
Which did the trick and the new project compiled and worked in SL
So I wonder if it's possible to add a Silverlight project to the retlang
code base? if i can help with anything please let me know.
Original issue reported on code.google.com by [email protected]
on 26 Dec 2009 at 3:27
When writing simulation code, you need to control the simulation time
separately from the wall clock. A simulation needs to pause and resume all
processing.
If the scheduler could be set up to allow that functionality, I could simply
use the SubscribeToBatch() feature.
Original issue reported on code.google.com by [email protected]
on 22 Mar 2011 at 5:25
Apologies for putting this in the Issues section but I can't find a way to
download the source (although I can browse it on SVN). Am I missing
something? The downloadable zip file only contains a dll and a PDB.
Original issue reported on code.google.com by [email protected]
on 19 Sep 2007 at 5:31
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.