473,396 Members | 2,061 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Program Structure to achieve pipelining

Hi,

I am writing an application that contains a number of modules/classes,

Class A, Class B, Class C, Class D.

The structure of my program is like a pipeline.

i.e input comes into Class A is processed and then passed to Class B which
is processed and then passed to Class C which is processed and passed to
ClassD.

The performance of the app is very important so as soon as data is processed
in one module/class it should be passed to the next as quickly as possible to
be processed.

I'd appreciate any suggestions on how to achieve the above

Thanks In Advance,
Macca
Nov 17 '05 #1
2 1384
The first thing that comes to mind is the SoapExtension class and how it uses
ChainStream and clones the input stream for forwarding on to the rest of the
SOAP "pipeline" infrastructure. At the least, it may give you some good ideas.
Peter
--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com


"Macca" wrote:
Hi,

I am writing an application that contains a number of modules/classes,

Class A, Class B, Class C, Class D.

The structure of my program is like a pipeline.

i.e input comes into Class A is processed and then passed to Class B which
is processed and then passed to Class C which is processed and passed to
ClassD.

The performance of the app is very important so as soon as data is processed
in one module/class it should be passed to the next as quickly as possible to
be processed.

I'd appreciate any suggestions on how to achieve the above

Thanks In Advance,
Macca

Nov 17 '05 #2
One option would be to make all classes inherit from Stream and implement
them as such. Then you can chain them like:

using(ClassA ca = new ClassA())
using(ClassB cb = new ClassB(ca))
using(ClassC cc = new ClassC(cb))
{
cc.Write(...);
}

And do the reverse on the other end.

--
William Stacey [MVP]

"Macca" <Ma***@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
Hi,

I am writing an application that contains a number of modules/classes,

Class A, Class B, Class C, Class D.

The structure of my program is like a pipeline.

i.e input comes into Class A is processed and then passed to Class B which
is processed and then passed to Class C which is processed and passed to
ClassD.

The performance of the app is very important so as soon as data is
processed
in one module/class it should be passed to the next as quickly as possible
to
be processed.

I'd appreciate any suggestions on how to achieve the above

Thanks In Advance,
Macca

Nov 17 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: noviceUser | last post by:
can some one guide me how to use HTTP 1.1 pipelining in Python. Client will generate 3 get requests continuously as shown below and then read the response for each GET request. Algorithm...
15
by: RAYYILDIZ | last post by:
I Know C is the fastest progrmming language. However, by using some bitwise operation you can get faster the your program. For instance, we talk about swap function. For a integer swapping we use...
6
by: Aston Martin | last post by:
Hi All, ********************** My Situation ********************** I am working on project that involves passing a structure to unmanaged code from .Net world (well using C#). Perhaps an example...
32
by: BillJosephson | last post by:
Hi, I want to write a program in Java or C++, and just discovered on my bookshelve Codewarrior 7. It says Windows 95, 98, NT, 2000, ME. Can I develop a command line application that will work on...
28
by: kyle york | last post by:
Greetings, Why does the C standard require the members of a structure not be re-ordered (6.2.5.20)? Padding is allowed, and platform dependent, which means one cannot rely on the exact layout...
1
by: call_me_anything | last post by:
wrt to http://www.short-media.com/articles/pipelining_explained What is the meaning of the following lines : Pipelining, like most things in life, is good in moderation. Making a processor's...
16
by: pkoniusz | last post by:
Hello everybody, Been just thinking how actually one could convert the following unmanaged code to the managed C++: struct JustAnExample { char value1; int value2; // etc ....
9
by: Tyler | last post by:
Hello All: I am currently working on a project to create an FEM model for school. I was thinking about using wxPython to gather the 12 input variables from the user, then, after pressing the...
4
by: swq22 | last post by:
Which python module is capable of pipelining http requests? (I know httplib can send mulitple requests per tcp connection, but in a strictly serial way. )
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.