Inheritance: IronRuby.Builtins.RubyIO
Exemple #1
0
 public static MutableString GetSocketOption(ConversionStorage <int> /*!*/ conversionStorage, RubyContext /*!*/ context,
                                             RubyBasicSocket /*!*/ self, [DefaultProtocol] int level, [DefaultProtocol] int optname)
 {
     Protocols.CheckSafeLevel(context, 2, "getsockopt");
     byte[] value = self.Socket.GetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, 4);
     return(MutableString.CreateBinary(value));
 }
Exemple #2
0
        public static void SetSocketOption(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object /*Numeric*/ level, object /*Numeric*/ optname, bool value)
        {
            Protocols.CheckSafeLevel(context, 2, "setsockopt");
            int iLevel   = Protocols.CastToFixnum(context, level);
            int iOptname = Protocols.CastToFixnum(context, optname);

            self.Socket.SetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, value);
        }
Exemple #3
0
        public static int Send(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object message, object flags)
        {
            Protocols.CheckSafeLevel(context, 4, "send");
            SocketFlags   socketFlags = ConvertToSocketFlag(context, flags);
            MutableString strMessage  = Protocols.CastToString(context, message);

            return(self.Socket.Send(strMessage.ConvertToBytes(), socketFlags));
        }
Exemple #4
0
        public static int Send(ConversionStorage <int> /*!*/ fixnumCast,
                               RubyBasicSocket /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ message, object flags)
        {
            Protocols.CheckSafeLevel(fixnumCast.Context, 4, "send");
            SocketFlags socketFlags = ConvertToSocketFlag(fixnumCast, flags);

            return(self.Socket.Send(message.ConvertToBytes(), socketFlags));
        }
Exemple #5
0
        public static void SetSocketOption(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object /*Numeric*/ level, object /*Numeric*/ optname, object value)
        {
            Protocols.CheckSafeLevel(context, 2, "setsockopt");
            MutableString strValue = Protocols.CastToString(context, value);
            int           iLevel   = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, level));
            int           iOptname = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, optname));

            self.Socket.SetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, strValue.ConvertToBytes());
        }
Exemple #6
0
        public static MutableString GetSocketOption(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object /*Numeric*/ level, object /*Numeric*/ optname)
        {
            Protocols.CheckSafeLevel(context, 2, "getsockopt");
            int iLevel   = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, level));
            int iOptname = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, optname));

            byte[] value = self.Socket.GetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, 4);
            return(MutableString.CreateBinary(value));
        }
Exemple #7
0
 public static int Shutdown(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, [DefaultProtocol, DefaultParameterValue(2)] int how)
 {
     CheckSecurity(context, self, "can't shutdown socket");
     if (how < 0 || 2 < how)
     {
         throw RubyExceptions.CreateArgumentError("`how' should be either 0, 1, 2");
     }
     self.Socket.Shutdown((SocketShutdown)how);
     return(0);
 }
Exemple #8
0
        public static int Shutdown(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object /*Numeric*/ how)
        {
            int iHow = 2;

            if (how != null)
            {
                iHow = Protocols.CastToFixnum(context, how);
            }
            return(Shutdown(context, self, iHow));
        }
Exemple #9
0
        public static MutableString GetPeerName(RubyBasicSocket /*!*/ self)
        {
            SocketAddress addr = self.Socket.RemoteEndPoint.Serialize();

            byte[] bytes = new byte[addr.Size];
            for (int i = 0; i < addr.Size; ++i)
            {
                bytes[i] = addr[i];
            }
            return(MutableString.CreateBinary(bytes));
        }
Exemple #10
0
        public static int Send(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object message, object flags, object hostname, object port)
        {
            Protocols.CheckSafeLevel(context, 4, "send");
            // Convert the parameters
            SocketFlags   sFlags     = ConvertToSocketFlag(context, flags);
            MutableString strMessage = Protocols.CastToString(context, message);
            MutableString address    = GetAddressInternal(context, hostname);
            int           iPort      = ConvertToPortNum(context, port);
            EndPoint      toEndPoint = new IPEndPoint(IPAddress.Parse(address.ConvertToString()), iPort);

            return(self.Socket.SendTo(strMessage.ConvertToBytes(), sFlags, toEndPoint));
        }
Exemple #11
0
 public static int Shutdown(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, [DefaultProtocol, DefaultParameterValue(2)] int how)
 {
     CheckSecurity(context, self, "can't shutdown socket");
     if (how < 0 || 2 < how)
     {
         throw RubyExceptions.CreateArgumentError("`how' should be either 0, 1, 2");
     }
     // TODO:
     // Webrick's (ruby\1.9.1\webrick\server.rb) use of shutdown on socket leads to subsequent scoket failures. Do close instead.
     // self.Socket.Shutdown((SocketShutdown)how);
     self.Socket.Close();
     return(0);
 }
Exemple #12
0
        public static MutableString Receive(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self,
                                            [DefaultProtocol] int length, [DefaultParameterValue(null)] object flags)
        {
            SocketFlags sFlags = ConvertToSocketFlag(context, flags);

            byte[] buffer   = new byte[length];
            int    received = self.Socket.Receive(buffer, 0, length, sFlags);

            MutableString str = MutableString.CreateBinary(received);

            str.Append(buffer, 0, received);
            context.SetObjectTaint(str, true);
            return(str);
        }
Exemple #13
0
        public static int Send(ConversionStorage <int> /*!*/ fixnumCast, ConversionStorage <MutableString> /*!*/ stringCast,
                               RubyBasicSocket /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ message,
                               object flags, object hostNameOrAddress, object port)
        {
            Protocols.CheckSafeLevel(fixnumCast.Context, 4, "send");
            int         iPort  = ConvertToPortNum(stringCast, fixnumCast, port);
            SocketFlags sFlags = ConvertToSocketFlag(fixnumCast, flags);

            // Convert the parameters
            IPAddress address = (hostNameOrAddress != null) ?
                                GetHostAddress(ConvertToHostString(stringCast, hostNameOrAddress)) : IPAddress.Loopback;

            EndPoint toEndPoint = new IPEndPoint(address, iPort);

            return(self.Socket.SendTo(message.ConvertToBytes(), sFlags, toEndPoint));
        }
Exemple #14
0
        public static int Send(ConversionStorage <int> /*!*/ fixnumCast, RubyBasicSocket /*!*/ self,
                               [DefaultProtocol, NotNull] MutableString /*!*/ message, object flags, [DefaultProtocol, NotNull] MutableString /*!*/ to)
        {
            Protocols.CheckSafeLevel(fixnumCast.Context, 4, "send");
            // Convert the parameters
            SocketFlags socketFlags = ConvertToSocketFlag(fixnumCast, flags);
            // Unpack the socket address information from the to parameter
            SocketAddress address = new SocketAddress(AddressFamily.InterNetwork);

            for (int i = 0; i < to.GetByteCount(); i++)
            {
                address[i] = to.GetByte(i);
            }
            EndPoint toEndPoint = self.Socket.LocalEndPoint.Create(address);

            return(self.Socket.SendTo(message.ConvertToBytes(), socketFlags, toEndPoint));
        }
Exemple #15
0
        public static int Send(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object message, object flags, object to)
        {
            Protocols.CheckSafeLevel(context, 4, "send");
            // Convert the parameters
            SocketFlags   socketFlags  = ConvertToSocketFlag(context, flags);
            MutableString strMessage   = Protocols.CastToString(context, message);
            MutableString strToAddress = Protocols.CastToString(context, to);
            // Unpack the socket address information from the to parameter
            SocketAddress address = new SocketAddress(AddressFamily.InterNetwork);

            for (int i = 0; i < strToAddress.GetByteCount(); i++)
            {
                address[i] = strToAddress.GetByte(i);
            }
            EndPoint toEndPoint = self.Socket.LocalEndPoint.Create(address);

            return(self.Socket.SendTo(strMessage.ConvertToBytes(), socketFlags, toEndPoint));
        }
Exemple #16
0
 public static bool GetDoNotReverseLookup(RubyBasicSocket/*!*/ self) {
     return self._doNotReverseLookup;
 }
Exemple #17
0
 public static void SetSocketOption(ConversionStorage <int> /*!*/ conversionStorage, RubyContext /*!*/ context,
                                    RubyBasicSocket /*!*/ self, [DefaultProtocol] int level, [DefaultProtocol] int optname, bool value)
 {
     Protocols.CheckSafeLevel(context, 2, "setsockopt");
     self.Socket.SetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, value);
 }
Exemple #18
0
 public static int Shutdown(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, [DefaultProtocol, DefaultParameterValue(2)]int how) {
     CheckSecurity(context, self, "can't shutdown socket");
     if (how < 0 || 2 < how) {
         throw RubyExceptions.CreateArgumentError("`how' should be either 0, 1, 2");
     }
     // TODO: 
     // Webrick's (ruby\1.9.1\webrick\server.rb) use of shutdown on socket leads to subsequent scoket failures. Do close instead.
     // self.Socket.Shutdown((SocketShutdown)how);
     self.Socket.Close();
     return 0;
 }
Exemple #19
0
 public static bool GetDoNotReverseLookup(RubyBasicSocket /*!*/ self)
 {
     return(self._doNotReverseLookup);
 }
Exemple #20
0
 public static void CloseWrite(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self)
 {
     CheckSecurity(context, self, "can't close socket");
     // TODO: It would be nice to alter the SocketStream to be ReadOnly here
     self.Socket.Shutdown(SocketShutdown.Send);
 }
Exemple #21
0
 public static int Send(ConversionStorage<int>/*!*/ fixnumCast, 
     RubyBasicSocket/*!*/ self, [DefaultProtocol, NotNull]MutableString/*!*/ message, object flags) {
     Protocols.CheckSafeLevel(fixnumCast.Context, 4, "send");
     SocketFlags socketFlags = ConvertToSocketFlag(fixnumCast, flags);
     return self.Socket.Send(message.ConvertToBytes(), socketFlags);
 }
Exemple #22
0
        public static MutableString Receive(ConversionStorage<int>/*!*/ fixnumCast, RubyBasicSocket/*!*/ self, 
            [DefaultProtocol]int length, [DefaultParameterValue(null)]object flags) {

            SocketFlags sFlags = ConvertToSocketFlag(fixnumCast, flags);

            byte[] buffer = new byte[length];
            int received = self.Socket.Receive(buffer, 0, length, sFlags);

            MutableString str = MutableString.CreateBinary(received);
            str.Append(buffer, 0, received);
            str.IsTainted = true;
            return str;
        }
Exemple #23
0
 public static int Send(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object message, object flags, object hostname, object port) {
     Protocols.CheckSafeLevel(context, 4, "send");
     // Convert the parameters
     SocketFlags sFlags = ConvertToSocketFlag(context, flags);
     MutableString strMessage = Protocols.CastToString(context, message);
     MutableString address = GetAddressInternal(context, hostname);
     int iPort = ConvertToPortNum(context, port);
     EndPoint toEndPoint = new IPEndPoint(IPAddress.Parse(address.ConvertToString()), iPort);
     return self.Socket.SendTo(strMessage.ConvertToBytes(), sFlags, toEndPoint);
 }
Exemple #24
0
 public static MutableString GetSocketOption(ConversionStorage<int>/*!*/ conversionStorage, RubyContext/*!*/ context, 
     RubyBasicSocket/*!*/ self, [DefaultProtocol]int level, [DefaultProtocol]int optname) {
     Protocols.CheckSafeLevel(context, 2, "getsockopt");
     byte[] value = self.Socket.GetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, 4);
     return MutableString.CreateBinary(value);
 }
Exemple #25
0
 public static MutableString GetSocketOption(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object/*Numeric*/ level, object/*Numeric*/ optname) {
     Protocols.CheckSafeLevel(context, 2, "getsockopt");
     int iLevel = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, level));
     int iOptname = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, optname));
     byte[] value = self.Socket.GetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, 4);
     return MutableString.CreateBinary(value);
 }
Exemple #26
0
 public static void SetSocketOption(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object/*Numeric*/ level, object/*Numeric*/ optname, object value) {
     Protocols.CheckSafeLevel(context, 2, "setsockopt");
     MutableString strValue = Protocols.CastToString(context, value);
     int iLevel = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, level));
     int iOptname = Protocols.CastToFixnum(context, Protocols.ConvertToInteger(context, optname));
     self.Socket.SetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, strValue.ConvertToBytes());
 }
Exemple #27
0
 public static int Send(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object message, object flags) {
     Protocols.CheckSafeLevel(context, 4, "send");
     SocketFlags socketFlags = ConvertToSocketFlag(context, flags);
     MutableString strMessage = Protocols.CastToString(context, message);
     return self.Socket.Send(strMessage.ConvertToBytes(), socketFlags);
 }
Exemple #28
0
 public static int Send(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object message, object flags, object to) {
     Protocols.CheckSafeLevel(context, 4, "send");
     // Convert the parameters
     SocketFlags socketFlags = ConvertToSocketFlag(context, flags);
     MutableString strMessage = Protocols.CastToString(context, message);
     MutableString strToAddress = Protocols.CastToString(context, to);
     // Unpack the socket address information from the to parameter
     SocketAddress address = new SocketAddress(AddressFamily.InterNetwork);
     for (int i = 0; i < strToAddress.GetByteCount(); i++) {
         address[i] = strToAddress.GetByte(i);
     }
     EndPoint toEndPoint = self.Socket.LocalEndPoint.Create(address);
     return self.Socket.SendTo(strMessage.ConvertToBytes(), socketFlags, toEndPoint);
 }
Exemple #29
0
        public static MutableString Receive(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, 
            [DefaultProtocol]int length, [DefaultParameterValue(null)]object flags) {

            SocketFlags sFlags = ConvertToSocketFlag(context, flags);

            byte[] buffer = new byte[length];
            int received = self.Socket.Receive(buffer, 0, length, sFlags);

            MutableString str = MutableString.CreateBinary(received);
            str.Append(buffer, 0, received);
            context.SetObjectTaint(str, true);
            return str;
        }
Exemple #30
0
 public static int Shutdown(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self)
 {
     return(Shutdown(context, self, 2));
 }
Exemple #31
0
        public static int Send(ConversionStorage<int>/*!*/ fixnumCast, ConversionStorage<MutableString>/*!*/ stringCast,
            RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, [DefaultProtocol, NotNull]MutableString/*!*/ message, 
            object flags, object hostname, object port) {
            
            Protocols.CheckSafeLevel(context, 4, "send");
            int iPort = ConvertToPortNum(stringCast, fixnumCast, context, port);
            SocketFlags sFlags = ConvertToSocketFlag(fixnumCast, context, flags);

            // Convert the parameters
            MutableString address = GetAddressInternal(context, hostname);
            EndPoint toEndPoint = new IPEndPoint(IPAddress.Parse(address.ConvertToString()), iPort);
            return self.Socket.SendTo(message.ConvertToBytes(), sFlags, toEndPoint);
        }
Exemple #32
0
        public static void SetSocketOption(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, 
            [DefaultProtocol]int level, [DefaultProtocol]int optname, [DefaultProtocol, NotNull]MutableString/*!*/ value) {

            Protocols.CheckSafeLevel(context, 2, "setsockopt");
            self.Socket.SetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, value.ConvertToBytes());
        }
Exemple #33
0
 public static void SetSocketOption(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object/*Numeric*/ level, object/*Numeric*/ optname, bool value) {
     Protocols.CheckSafeLevel(context, 2, "setsockopt");
     int iLevel = Protocols.CastToFixnum(context, level);
     int iOptname = Protocols.CastToFixnum(context, optname);
     self.Socket.SetSocketOption((SocketOptionLevel)iLevel, (SocketOptionName)iOptname, value);
 }
Exemple #34
0
 public static MutableString GetPeerName(RubyBasicSocket/*!*/ self) {
     SocketAddress addr = self.Socket.RemoteEndPoint.Serialize();
     byte[] bytes = new byte[addr.Size];
     for (int i = 0; i < addr.Size; ++i) {
         bytes[i] = addr[i];
     }
     return MutableString.CreateBinary(bytes);
 }
Exemple #35
0
        public static MutableString Receive(ConversionStorage <int> /*!*/ fixnumCast, RubyBasicSocket /*!*/ self,
                                            [DefaultProtocol] int length, [DefaultParameterValue(null)] object flags)
        {
            SocketFlags sFlags = ConvertToSocketFlag(fixnumCast, flags);

            byte[] buffer   = new byte[length];
            int    received = self.Socket.Receive(buffer, 0, length, sFlags);

            MutableString str = MutableString.CreateBinary(received);

            str.Append(buffer, 0, received);
            str.IsTainted = true;
            return(str);
        }
Exemple #36
0
 public static int Send(ConversionStorage<int>/*!*/ fixnumCast, RubyBasicSocket/*!*/ self,
     [DefaultProtocol, NotNull]MutableString/*!*/ message, object flags, [DefaultProtocol, NotNull]MutableString/*!*/ to) {
     Protocols.CheckSafeLevel(fixnumCast.Context, 4, "send");
     // Convert the parameters
     SocketFlags socketFlags = ConvertToSocketFlag(fixnumCast, flags);
     // Unpack the socket address information from the to parameter
     SocketAddress address = new SocketAddress(AddressFamily.InterNetwork);
     for (int i = 0; i < to.GetByteCount(); i++) {
         address[i] = to.GetByte(i);
     }
     EndPoint toEndPoint = self.Socket.LocalEndPoint.Create(address);
     return self.Socket.SendTo(message.ConvertToBytes(), socketFlags, toEndPoint);
 }
Exemple #37
0
 public static new int Send(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self, object message, object flags, object to)
 {
     return(RubyBasicSocket.Send(context, self, message, flags, to));
 }
Exemple #38
0
        public static MutableString/*!*/ ReceiveNonBlocking(ConversionStorage<int>/*!*/ fixnumCast, RubyBasicSocket/*!*/ self,
            [DefaultProtocol]int length, [DefaultParameterValue(null)]object flags) {

            bool blocking = self.Socket.Blocking;
            try {
                self.Socket.Blocking = false;
                return Receive(fixnumCast, self, length, flags);
            } finally {
                // Reset the blocking
                self.Socket.Blocking = blocking;
            }
        }
Exemple #39
0
 public static int Shutdown(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object/*Numeric*/ how) {
     int iHow = 2;
     if (how != null) {
         iHow = Protocols.CastToFixnum(context, how);
     }
     return Shutdown(context, self, iHow);
 }
Exemple #40
0
 public static void SetDoNotReverseLookup(RubyBasicSocket /*!*/ self, bool value)
 {
     Protocols.CheckSafeLevel(self.Context, 4);
     self._doNotReverseLookup = value;
 }
Exemple #41
0
        public static new int Send(ConversionStorage<int>/*!*/ fixnumCast, RubyContext/*!*/ context,
            RubyBasicSocket/*!*/ self, [DefaultProtocol, NotNull]MutableString/*!*/ message, object flags, 
            [DefaultProtocol, NotNull]MutableString/*!*/ to) {

            return RubyBasicSocket.Send(fixnumCast, context, self, message, flags, to);
        }
Exemple #42
0
 public static int Shutdown(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self) {
     return Shutdown(context, self, 2);
 }
Exemple #43
0
        public static int Send(ConversionStorage<int>/*!*/ fixnumCast, ConversionStorage<MutableString>/*!*/ stringCast,
            RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, [DefaultProtocol, NotNull]MutableString/*!*/ message,
            object flags, object hostNameOrAddress, object port) {
            
            Protocols.CheckSafeLevel(context, 4, "send");
            int iPort = ConvertToPortNum(stringCast, fixnumCast, context, port);
            SocketFlags sFlags = ConvertToSocketFlag(fixnumCast, context, flags);

            // Convert the parameters
            IPAddress address = (hostNameOrAddress != null) ?
                GetHostAddress(ConvertToHostString(stringCast, context, hostNameOrAddress)) : IPAddress.Loopback;

            EndPoint toEndPoint = new IPEndPoint(address, iPort);
            return self.Socket.SendTo(message.ConvertToBytes(), sFlags, toEndPoint);
        }
Exemple #44
0
 public static void SetSocketOption(RubyContext /*!*/ context, RubyBasicSocket /*!*/ self,
                                    [DefaultProtocol] int level, [DefaultProtocol] int optname, [DefaultProtocol, NotNull] MutableString /*!*/ value)
 {
     Protocols.CheckSafeLevel(context, 2, "setsockopt");
     self.Socket.SetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, value.ConvertToBytes());
 }
Exemple #45
0
 public static void CloseWrite(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self) {
     CheckSecurity(context, self, "can't close socket");
     // TODO: It would be nice to alter the SocketStream to be ReadOnly here
     self.Socket.Shutdown(SocketShutdown.Send);
 }
Exemple #46
0
 public static void SetDoNotReverseLookup(RubyBasicSocket/*!*/ self, bool value) {
     Protocols.CheckSafeLevel(self.Context, 4);
     self._doNotReverseLookup = value;
 }
Exemple #47
0
 public static int Shutdown(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, [DefaultProtocol, DefaultParameterValue(2)]int how) {
     CheckSecurity(context, self, "can't shutdown socket");
     if (how < 0 || 2 < how) {
         throw RubyExceptions.CreateArgumentError("`how' should be either 0, 1, 2");
     }
     self.Socket.Shutdown((SocketShutdown)how);
     return 0;
 }
Exemple #48
0
        public static void SetSocketOption(ConversionStorage<int>/*!*/ conversionStorage, RubyContext/*!*/ context, 
            RubyBasicSocket/*!*/ self, [DefaultProtocol]int level, [DefaultProtocol]int optname, bool value) {

            Protocols.CheckSafeLevel(context, 2, "setsockopt");
            self.Socket.SetSocketOption((SocketOptionLevel)level, (SocketOptionName)optname, value);
        }
Exemple #49
0
 public static new int Send(RubyContext/*!*/ context, RubyBasicSocket/*!*/ self, object message, object flags, object to) {
     return RubyBasicSocket.Send(context, self, message, flags, to);
 }
Exemple #50
0
        public static MutableString /*!*/ ReceiveNonBlocking(ConversionStorage <int> /*!*/ fixnumCast, RubyBasicSocket /*!*/ self,
                                                             [DefaultProtocol] int length, [DefaultParameterValue(null)] object flags)
        {
            bool blocking = self.Socket.Blocking;

            try {
                self.Socket.Blocking = false;
                return(Receive(fixnumCast, self, length, flags));
            } finally {
                // Reset the blocking
                self.Socket.Blocking = blocking;
            }
        }
Exemple #51
0
 public static new int Send(ConversionStorage <int> /*!*/ fixnumCast,
                            RubyBasicSocket /*!*/ self, [DefaultProtocol, NotNull] MutableString /*!*/ message, object flags,
                            [DefaultProtocol, NotNull] MutableString /*!*/ to)
 {
     return(RubyBasicSocket.Send(fixnumCast, self, message, flags, to));
 }