Git Product home page Git Product logo

collie's Introduction

Build Status

Collie

An asynchronous event-driven network framework written in dlang, like netty framework in D.

Require

  • System : FreeBSD, Linux, MacOS, Windows
  • D : Compiler Version >= 2.071
  • libssl and libcrypto (optional,if use the ssl)

Support

Feature epoll kqueue iocp select
TCP Y Y Y Y
SSL* Y Y Y Y
UDP Y Y Y Y
Timer Y Y Y Y

NOte: Now , the ssl only support as server. not support as a client.

TODO

  • HTTP2 surport
  • Modules reorganization
  • Performance improvement
  • API improvement
  • Examples improvement

Contact:

  • QQ Group : 184183224

collie's People

Contributors

donglei avatar dushibaiyu avatar gaoxincheng avatar heromyth avatar nilufanier avatar noclear avatar zoujiaqing avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

collie's Issues

Error: safe function 'collie.socket.eventloop.CWheelTimer.onTimeOut'

> dub                                                                                                                        
Performing "debug" build using dmd for x86.                                                                                  
collie 0.7.13: building configuration "default"...                                                                           
use CustomTimer!!!!                                                                                                          
C:\Users\bubenkov_di\AppData\Roaming\dub\packages\collie-0.7.13\collie\source\collie\socket\eventloop.d(303,36): Error: safe 
function 'collie.socket.eventloop.CWheelTimer.onTimeOut' cannot call system function 'collie.socket.common.EventCallInterface
.onRead'                                                                                                                     
dmd failed with exit code 1.                                                                                                 

dub test fails under OSX

Hello,

When trying to run under OSX 10.11:

Igors-MacBook-Pro:collie igor$ dub test
Generating test runner configuration '__test__library__' for 'library' (library).
Performing "unittest" build using dmd for x86_64.
collie 0.7.0: building configuration "__test__library__"...
source/collie/socket/acceptor.d(162,56): Error: undefined identifier '_inSocket'
source/collie/socket/eventloop.d(172,18): Error: no property 'timer' for type 'AsyncEvent*'
source/collie/socket/eventloop.d(177,29): Error: no property 'timer' for type 'AsyncEvent*'
source/collie/socket/eventloop.d(182,18): Error: no property 'timer' for type 'AsyncEvent*'
source/collie/socket/eventloop.d(254,23): Error: template instance collie.socket.eventloop.EventLoopImpl!(KqueueLoop) error instantiating
dmd failed with exit code 1.

Deprecation warning: _ctxs must be surrounded by parentheses when next to operator ~=

\dub\packages\collie-0.10.16\collie\source\collie\channel\pipeline.d(185,9): Deprecation: front ? _ctxs = addBefore(_ctxs, ctx) : _ctxs must be surrounded by parentheses when next to operator ~=
\dub\packages\collie-0.10.16\collie\source\collie\channel\pipeline.d(188,13): Deprecation: front ? _inCtxs = addBefore(_inCtxs, ctx) : _inCtxs must be surrounded by parentheses when next to operator ~=
\dub\packages\collie-0.10.16\collie\source\collie\channel\pipeline.d(193,13): Deprecation: front ? _outCtxs = addBefore(_outCtxs, ctx) : _outCtxs must be surrounded by parentheses when next to operator ~=
$ dmd --version
DMD32 D Compiler v2.091.0-dirty

$ dub --version
DUB version 1.20.0, built on Mar  9 2020

removeAny unittest failing

The following assert fails when doing “dub test” with DMDv2.071.1 on revision 6b2f132:

vec.removeAny(2);
assert(vec.dup == [15, 3, 4, 0, 1, 2, 3, 4, 5, 6, 7]);

You can find the backtrace below:

core.exception.AssertError@source/collie/utils/vector.d(282): unittest failure

??:? _d_unittest [0x819cbc4]
??:? void collie.utils.vector.__unittest_fail(int) [0x819aaac]
source/collie/utils/vector.d:248 void collie.utils.vector.__unittestL243_21() [0x8195d43]
??:? void collie.utils.vector.__modtest() [0x819aa47]
??:? int core.runtime.runModuleUnitTests().foreachbody2(object.ModuleInfo) [0x81ca470]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo
)).lambda2(immutable(object.ModuleInfo)) [0x819c4bc]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo
))).foreachbody2(ref rt.sections_elf_shared.DSO) [0x81a414e]
??:? int rt.sections_elf_shared.DSO.opApply(scope int delegate(ref rt.sections_elf_shared.DSO)) [0x81a433f]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo
))) [0x81a40f3]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo
)) [0x819c4a0]
??:? runModuleUnitTests [0x81ca34b]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])).runAll() [0x81a03c4]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])
).tryExec(scope void delegate()) [0x81a036c]
??:? _d_run_main [0x81a02fe]
??:? main [0x815414b]
??:? __libc_start_main [0xb752f195]
Program exited with code 1

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.