Monday, October 18, 2010

extensible concept

1.a simple concept -- involves 3 to 4 concrete tokens
2.It defines a two or 3 actions with an outcome
3.Many domains can converge onto this domain using simple bridge,converters

protocol ..local remote

1.An event occurence at remote site ... reflected by arrival of a packet at local machine can cause
2.reaction:
1.Some memory allocated in the local machine protocol layers to be freed/or new allocated
2.Some variable values will be modified
3.Packets coming from the upper layer is discarded , queued or it is morphed and forwarded
4.Packets are routed in a different channel other than normal
5.states are changed(some variables are changed)

app engine -- structure

1.Frame object
Looper object
Container object
Instruction object
Param object
Param object

Setup Frame
Looper.Start(Frame)
Get Container
Get Instruction
Get Param
Get Param
do_work with them
Generate Container
Gen Instr
Gen param
Gen param
Make Frame
PushFrame
Make Frame 1
Push Frame 1
Looper.Stop

Looper.start(Frame)
-----

Ideally in do_work function if there is a next layer call and new buffer...its candidate for frame

2.A change
if do_work has to call multiple layer routines within the same context then both the calls should
be encapsulated in the frame and taken out in FIFO

Flexibility
The container object can be of different types ....inherited
similarly I,P,P also

In case of protocol ,Container closely resembles layer in protocol,I layer entry point, P,P buffers

3.If multiple threads are accessing this engine ..then each thread will have a context in which the frame will be stotred and each context will have a looper or one looper for all