Code Monkey home page Code Monkey logo

ipc's People

Contributors

thegreenhacker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ipc's Issues

Synchronization

How can we add sem_wait and sem_signal to implement synchronization to access critical region

Additional Feature if you are interested - Selective Updates

Currently, All clients are updated for any modification done in routing table on RTM server. What if clients needs to be notified only for selective entries.

When client starts, client must send "SUBSCRIBE_ALL" msg to server which tells server client is interested for all updates.

Later client can also send "SUBSCRIBE_ONE_ENTRY " to server, which tells server that it has to send updates only for this particular entry to this client.

When Client sends SUBSCRIBE_ONE_ENTRY to server, client must flush its entire routing table and maintain only those entries for which it has been selectively subscribed for.

When Client sends UNSUBSCRIBE_ONE_ENTRY to server, client must delete this particular entry from its routing table while others continue to exists. Server must not send any update for this entry to this client anymore.

When Client Sends Again "SUBSCRIBE_ALL" msg to server, again previous behavior for all updates should be restored.

When Client Sends "UNSUBSCRIBE_ALL" msg to server, client must flush its entire routing table and must not receive any update from server.

Server must maintain state of the client and print which client has subscribed for which service.
Lot of work ??

Improvement 2 : I did not know what to do next

I started server program, but i did not know what to do with it, all it showed was :
Select...
on screen.

Convert server to Main-Menu driven and user interactive program. Do dame with client also.

How I would know what all entries are present in Server/Client routing tables. Add some show command also besides CREATE/UPDATE/DELETE on client and server sides.

Improvements - Dont print all entries whenever I CREATE a new entry

I see, the below output :

CREATE 10.1.3.1 24 192.168.0.2 eth0/2
Manager has some changes to make
Destination IP: 10.1.3.1 Mask: 24 Gateway IP: 192.168.0.2 OIF: eth0/2
Destination IP: 10.1.2.1 Mask: 24 Gateway IP: 192.168.0.1 OIF: eth0/1
Destination IP: 10.1.1.1 Mask: 24 Gateway IP: 192.168.0.1 OIF: eth0/1

Do not print all the existing entries of the routing table on Server whenever I add one more entry. Print more helpful msg like :

Entry Added Successfully.
Entry Synchronized to all connected clients.

Similarly, print more meaning ful msg on client side, something like :
Added : Destination IP: 10.1.3.1 Mask: 24 Gateway IP: 192.168.0.2 OIF: eth0/2
Updated : Destination IP: 10.1.3.1 Mask: 24 Gateway IP: 192.168.0.2 OIF: eth0/2
Deleted : Destination IP: 10.1.3.1 Mask: 24

whenever client recvs sync from RTM.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.