IronRuby.StandardLibrary.Sockets.IPSocket.ReceiveFrom C# (CSharp) Method

ReceiveFrom() private method

private ReceiveFrom ( ConversionStorage conversionStorage, IPSocket self, int length, [ flags ) : RubyArray
conversionStorage ConversionStorage
self IPSocket
length int
flags [
return RubyArray
        public static RubyArray/*!*/ ReceiveFrom(ConversionStorage<int>/*!*/ conversionStorage, IPSocket/*!*/ self, 
            int length, [DefaultParameterValue(null)]object/*Numeric*/ flags) {

            SocketFlags sFlags = ConvertToSocketFlag(conversionStorage, flags);
            byte[] buffer = new byte[length];
            EndPoint fromEP = new IPEndPoint(IPAddress.Any, 0);
            int received = self.Socket.ReceiveFrom(buffer, sFlags, ref fromEP);
            MutableString str = MutableString.CreateBinary();
            str.Append(buffer, 0, received);

            str.IsTainted = true;
            return RubyOps.MakeArray2(str, self.GetAddressArray(fromEP));
        }
        #endregion