You can mix ARC and non-ARC code, given that those code are placed in separate 
files, then link them together. So you can safely implement the missing link in 
ARC code using Objective-C categories, and link them together with non-ARC 
GNUstep and your project in ARC. 

发自我的 iPad

在 2013-1-9,0:55,Marcus Müller <[email protected]> 写道:

> Hi all,
> 
> I've just started to port a rather tiny Bonjour-service based server 
> application from OSX to GNUstep (running on FreeBSD 9.1). Because this is a 
> new-school ObjC 2.0 ARC based project, I've also installed all prerequisites 
> for doing that: brand new clang, libobjc2. Everything works as expected (even 
> the Bonjour code), life is good.
> 
> 
> PROBLEM
> =========
> 
> I've then extended the code to provide a Bonjour service. Because it's very 
> convenient to do so on OSX, I've made use of ULINetSocket 
> (uliwitness/ULINetSocket ・ GitHub). ULINetSocket itself is a very convenient 
> wrapper around CFSocket… and that's where the trouble kicks in. It appears 
> the CFSocket runloop scheduling code hasn't been done, yet, which makes it 
> rather pointless to use GNUstep corebase in conjunction with ULINetSocket 
> right now (* see below).
> 
> I've then started to look into alternatives (including my own ObjC socket 
> code which dates back ~ 10 years), but all of them seem to use background 
> threads (or have issues with IPv6) which seems quite out of date in 2013.
> 
> 
> SOLUTION?
> ==========
> 
> Searching for alternatives I've stumbled across GSSocketServerStream 
> (GSInetServerStream, …) which seems to be something that I could use, but 
> haven't found any code demonstrating how to use it. Does anybody have any 
> demo code/project as a starting point?
> 
> Are there any other modern socket libraries (focus on server socket) that you 
> can recommend? Ideally, something which works on OSX and GNUstep out of the 
> box?
> 
> 
> Cheers,
> 
>   Marcus
> 
> 
> P.S.: (*) I'm aware that I could also go ahead and implement the missing 
> CFSocket runloop scheduling code. While that's probably interesting to do and 
> GNUstep's GSRunLoop already provides most (all?) the required infrastructure 
> for that, the problem that GNUstep corebase isn't ARC compatible would 
> prevent me from using it in my project anyways (and rewriting everything to 
> non-ARC is out of question for me).
> 
> -- 
> Marcus Müller  .  .  .  http://www.mulle-kybernetik.com/znek/
> 
> 
> 
> _______________________________________________
> Gnustep-dev mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to