git over http and the first repos push

Apache virtual host setup cat /etc/apache2/sites-enabled/git

htpasswd -c  /etc/apache2/password.dav youraccount Server side repos init mkdir -p /var/www/git/app/ git init –bare(此处为两个-) git update-server-info chown www-data.www-data -R /var/www/git/app/ Client side repos push cd d:\app edit .gitignore … Continue reading

Floodlight加载和运行模块的原理

这两天简单看了一下Floodlight的模块机制,大概了解了其插件的机制和流 程,编写了一个非常简单的模块,为大家分享一下 Floodlight加载和运行模块的原理 Floodlight的入口是net.floodlightcontroller.core.Main, 在这个类的main函数中,使用FloodlightModuleLoader加载所有的模块,然后再 调用net.floodlightcontroller.restserver.RestApiServer模块的run方法,启动 rest服务器,最后调用net.floodlightcontroller.core.internal.Controller模块的 run方法,启动网络控制器。

在加载模块的过程中,使用 FloodlightModuleLoader类的findAllModules方法寻找所有在$CLASSPATH路径中的实现了 net.floodlightcontroller.core.module.IFloodlightModule接口的模块,然后用initModules 初始化这些模块,最后用startupModules启动这些模块。 FloodlightModuleLoad.java:303

以MemoryStorageSource类为例,它继承了 NoSqlStorageSource类,后者又继承了AbstractStorageSource类,而 AbstractStorageSource是实现了IFloodlightModule和 IStorageSourceService两个接口。 IFloodlightModule有一个init方法和一个startUp方法,所以MemoryStorageSource会分别实现这两个方法,并在初始化和启动的时候被调用。 一个模块的简单实例 下面简单介绍如何新建一个模块的过程,以一个IDSController为例,现在 只实现定时打印日志的功能: 1 定义服务com.nsfocus.ids.IIntrusionDetectionService:

2 新建一个实现IFloodlightModule接口的类com.nsfocus.ids.IDSController: 分别实现接口IFloodlightModule的 getModuleServices、getServiceImpls、getModuleDependencies等方法,这三个方法 主要用于初始化模块 系统运行 ServiceLoader.load(IFloodlightModule.class, cl)后会将IDSController加载到支持IFloodlightModule模块的列表中。 3 在配置文件中添加新模块: … Continue reading

魔高一尺,道高一丈

背景:街道阿姨告诉我党员学习搞积分,上某先锋网一个,满90分钟为止,鼠标不动就不算时间。反人类啊! 码农背景的我仔细看了一下计时相关的部分,用js实现。于是上个月写了一行代码,用chrome+javascript书签搞定了。参见以前我发的微博链接 这个月一看,发现代码重写了,增加了阅读页数限制,究竟是哪个天杀的码农,难道看到我的微博了?更发指的是还增加了浏览器限制,为了自己的便利一遍一遍地强奸小白用户,某些中国程序员的特色 不过重写的代码还是用js实现的,照样搞定!效果如图 代码奉上: javascript:function refreshpage(){ count=10;addtime(); setTimeout(‘refreshpage()’,10000); } refreshpage(); 每十秒钟读十页,我还算好党员吧? 还是那句话,XX这种事情何必呢,码农别为难码农… 如有各种不服,下个月继续pk,顺便提一句,用javascript实现各种限制就是纯粹耍流氓

爱开源,恨开源

这种感觉是一直伴随着 将代码开源是需要强大的内心的 附使用floodlight时做的三处bug report。 其一 namespace导致路由失败 其二 不支持二层设备的发送 导致link 其三 OF link link CNN