Hi Nishant,

Yes, the end goal is to remove the Mono-specific FileStream, and replace it 
with the one in corefx. We wouldn't use a nuget package, but would take it 
directly from the sources of corefx: we have corefx as a git submodule in mono, 
so we can cherry-pick any source file we need/want, and compile them as part of 
our build process.

The initial MonoIO purpose was to have a abstraction layer that is usable from 
managed, and that can be used from FileStream, or anything else that needs it. 
The managed (C#) methods are very close to the Win32 API, which we have to 
emulate in the runtime on Unix systems. It serves a very specific purpose, but 
we would like to replace it with how it is done in corefx (not meaning that we 
want to modify it, but more that we want to get rid of it)

Mono does have a fork of corefx (https://github.com/mono/corefx), but we try to 
keep it as close as possible from upstream by regularly upstreaming what we 
can, and downstreaming every week or two. I am currently working on trying to 
integrate mono more to upstream corefx, so it's easier for both projects to 
evolve side by side.

I am on the IRC channel now, so if you want to ask any question feel free to 
ask them there, but I like email too, because the information I give you is 
accessible more broadly and is more persistent.

Thank you,
Ludovic


On 21 Mar 2017, at 17:05, Nishant Gupta 
<[email protected]<mailto:[email protected]>> wrote:

Is there a faster way of communication than via email?
@Ludovic - is there any specific time that you hang out on one of the mIRC 
channels, i would love to talk to you there for sometime to ask all my 
questions at once.

Thanks,
Nishant Gupta

On Sun, Mar 19, 2017 at 12:23 PM, Nishant Gupta 
<[email protected]<mailto:[email protected]>> wrote:
Hi Ludovic,

Thanks for your reply. So is my understanding correct that the end aim is to 
remove the Mono-specific FileStream type and replace it with the FileStream 
class defined in CoreFx (perhaps imported via a nuget package reference) ?

What is the purpose of MonoIO ? And is there an equivalent in CoreFX?

Does mono use a fork of the CoreFX code? Or is it imported directly via nuget?

I think I want to go ahead with the FileStream project and would like to come 
up with a detailed plan of action that I can put in my proposal.

Thanks,
Rohit

On Wed, Mar 15, 2017 at 9:02 AM, Ludovic Henry 
<[email protected]<mailto:[email protected]>> wrote:
Hi Nishant,

Our current implementation of System.IO.FileStream lives at 
https://github.com/mono/mono/blob/master/mcs/class/corlib/System.IO/FileStream.cs.
 It has strong dependencies on System.IO.MonoIO which lives at 
https://github.com/mono/mono/blob/master/mcs/class/corlib/System.IO/MonoIO.cs 
and which depends on the runtime for the different icalls implemented in 
https://github.com/mono/mono/search?utf8=%E2%9C%93&q=filename%3Aw32file&type=Code<https://github.com/mono/mono/search?utf8=%E2%9C%93&q=filename:w32file&type=Code>.

Out current implementation of System.Diagnostics.Process lives at 
https://github.com/mono/mono/blob/master/mcs/class/System/System.Diagnostics/Process.cs.
 The runtime implements the different icalls in 
https://github.com/mono/mono/search?p=1&q=filename%3Aw32process&type=Code&utf8=%E2%9C%93<https://github.com/mono/mono/search?p=1&q=filename:w32process&type=Code&utf8=%E2%9C%93>.

The end goal is to get rid of most of our mono-specific code both in managed 
and in the runtime (System.IO.MonoIO, the w32process and the w32file files), 
but we would first need to add support to CoreFX for the different platforms 
that we support that they don't (Android, iOS, Haiku, etc.)

I would be the one to look over these 2 projects, so if you have any question, 
I would be very happy to answer them.

Thank you,
Ludovic

From: Nishant Gupta [mailto:[email protected]]
Sent: Tuesday, March 14, 2017 12:22 AM
To: Xamarin FW Summer of Code 
<[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: Re: Interest in GSoC .NET and Mono integration

Hi,

Any guidance here would be appreciated!

Thanks,
Rohit

On Sun, Mar 12, 2017 at 5:39 PM, Nishant Gupta 
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I am a grad student in India and I came across this board from the GSoC idea 
page for Mono. I would love to help in the Microsoft .NET and Mono integration 
initiative, as I have plenty of experience in C# and .NET Framework/.NET Core 
along with other tools like NuGet. Please let me know of a good way to get 
started!

I was hoping to get in touch with Ludovic Henry and talk to him about a plan of 
action. The projects that catch my eye include:

1) Import System.IO.FileStream from CoreFx
2) Import Process from CoreFx

I have a few boiling questions that i would love if someone could help answer 
for me so I can start working on writing the proposal.

It would also be great, if to get familiar in this area, someone could point me 
to a few bugs which I can fix before GSoC to get my hands dirty.


Thanks,
Nishant




_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.dot.net/mailman/listinfo/mono-devel-list

Reply via email to