rpcbind's People
rpcbind's Issues
File name should be computer-independent
https://github.com/emc-students/rpcbind/blob/master/RPC_serv_clnt_source/msg_svc_proc.c#L17 : "kseniya" there makes this file difficult to compile on other machines. Please fix.
Замечания по rpcbind/RPC_serv_clnt_source
На stackoverflow обнаружена подсказка, как можно устроить подобие code review без pull request:
"Unfortunately it is not possible to comment on a line in Github without a commit. But you can create links to lines in your file (click on line and copy link on browser bar). For example you can use this links in your issues to discuss about code line"
Попробуем устроить разбор полётов по RPC_serv_clnt_source
- Потрудиться написать README
- Правильно ли я понял, что в репозиторий свалены и исходники для rpcgen (msg.x), и сгенерированные msg.h, msg_clnt.c, msg_svc.c? Если так, то все сгенерированное нужно удалить, а вызов rpcgen закатать в Makefile. Если же есть препятствия к этому, подробно расписать их в README.
Кстати, обнаружилось, что сгенерированные файлы слегка подправлены. Тогда тем более эти правки должны быть diff'ом собраны в .patch файл, и наложены отдельной целью в Makefile.
- Полный разнобой в комментариях (одна и та же сущность называется по-разному в разных файлах), оформлении лога, стиле кодирования. Пожелание использовать indent авторами проигнорировано.
По оформлению лога:
- вместо явного вызова printf() написать макрос, а лучше два - ERROR() и TRACE(), первый будет выводить в stderr, второй - в stdout.
- Убрать звёздочки справа от сообщения. Унаследовано от М.В.Толстого, выглядит прикольно, но катастрофически контрпродуктивно - мешает при чтении логов.
Это некрасиво, лучше "рецепт" написать на новой строке, а не колхозить в одну строку через точку с запятой. Да и вообще есть очучение, что данный рецепт уже встроен в make, поэтому правильнее было бы вместо этого написать:
CC = gcc
LD = gcc
и в строках 15 и 18 вызывать $(LD).
Обычно такую цель называют all, команда 'make clean all' у программистов прошита в подкорку.
Включение msg.h в эту цель неверно, т.к. его изменение вызовет только перелинковку, а не перекомпиляцию всех *.o
-- ДД
namespace creation + rpcbind startup into standalone script
Было бы полезно написать отдельный скрипт для создания / запуска / удаления всех сущностей, которые будут помещаться в namespace. Голый bash - наиболее портабелен, но можно взять и python. В современных дистрибутивах Linux он наверняка включен по умолчанию, т.к. на python написано немало системных утилит.
Для начала достаточно всего двух функций: start и stop
nsconfig.sh start <ns_name>
nsconfig.sh stop <ns_name>
Действия по команде start:
- проверить, существует ли network namespace <ns_name>?
- если не существует, создать
- если создать невозможно, вывалиться с внятным объяснением (предположить отсутствие соответствующих прав). Ещё более продвинутый вариант - перезапустить себя же с префиксом sudo.
- в случае успеха в указанном namespace создать необходимые элементы сетевой конфигурации (т.е. пока взять по одной из всех парных строк network-config.sh). Подумать о параметризации имён создаваемых veth'ов. Далее все равно появится чтение / разбор некоего конфигурационного файла, отсюда и рекомендация переползания на python.
- там же запустить rpcbind и сервер.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.