示例#1
0
 public bool Save(AdhocMessage obj, ref string message)
 {
     if (obj.Id == 0)
     {
         return(Add(obj, ref message));
     }
     else
     {
         return(Update(obj.Id, obj));
     }
 }
示例#2
0
        public bool Remove(AdhocMessage obj)
        {
            bool state = false;

            uow.AdhocMessages.Remove(obj);
            int result = uow.Complete();

            if (result > 0)
            {
                state = true;
            }
            return(state);
        }
示例#3
0
        private bool Update(long Id, AdhocMessage obj)
        {
            bool state = false;

            var objEx = uow.AdhocMessages.Get(obj.Id);

            objEx    = obj;
            objEx.Id = Id;
            uow.AdhocMessages.Update(Id, objEx);
            int result = uow.Complete();

            if (result > 0)
            {
                state = true;
            }
            return(state);
        }
示例#4
0
        protected internal override bool isForMe(AdhocMessage adhocMessage, int port, InetAddress address)
        {
            if (adhocMessage is JpcspAdhocPtpMessage)
            {
                JpcspAdhocPtpMessage adhocPtpMessage = (JpcspAdhocPtpMessage)adhocMessage;
                int type = adhocPtpMessage.Type;
                if (type == PTP_MESSAGE_TYPE_CONNECT_CONFIRM)
                {
                    if (connected)
                    {
                        //if (log.DebugEnabled)
                        {
                            Console.WriteLine(string.Format("Received connect confirmation but already connected, discarding"));
                        }
                    }
                    else
                    {
                        //if (log.DebugEnabled)
                        {
                            Console.WriteLine(string.Format("Received connect confirmation, processing later"));
                        }
                        connectConfirm = adhocPtpMessage;
                    }
                    return(false);
                }
                else if (type == PTP_MESSAGE_TYPE_CONNECT)
                {
                    //if (log.DebugEnabled)
                    {
                        Console.WriteLine(string.Format("Received connect request, processing later"));
                    }
                    connectRequest     = adhocPtpMessage;
                    connectRequestPort = port;
                    return(false);
                }
                else if (type != PTP_MESSAGE_TYPE_DATA)
                {
                    return(false);
                }
            }

            return(base.isForMe(adhocMessage, port, address));
        }
示例#5
0
        public virtual bool isForMe(AdhocMessage adhocMessage, int port, InetAddress address)
        {
            sbyte[] fromMacAddress = getMacAddress(address);
            if (fromMacAddress == null)
            {
                //if (log.DebugEnabled)
                {
                    Console.WriteLine(string.Format("not for me: port={0:D}, address={1}, message={2}", port, address, adhocMessage));
                }
                // Unknown source IP address, ignore the message
                return(false);
            }

            // Copy the source MAC address from the source InetAddress
            adhocMessage.FromMacAddress = fromMacAddress;

            // There is no broadcasting, all messages are for me
            return(true);
        }
示例#6
0
        private bool Add(AdhocMessage obj, ref string message)
        {
            bool state = false;

            // Check if there is an existing name
            if (!uow.AdhocMessages.IsExists(obj))
            {
                uow.AdhocMessages.Add(obj);
                int result = uow.Complete();
                if (result > 0)
                {
                    state = true;
                }
            }
            else
            {
                message = "Data Exists!";
            }

            return(state);
        }
示例#7
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void send(java.net.SocketAddress socketAddress, AdhocMessage adhocMessage) throws java.io.IOException
        public override void send(SocketAddress socketAddress, AdhocMessage adhocMessage)
        {
            DatagramPacket packet = new DatagramPacket(adhocMessage.Message, adhocMessage.MessageLength, socketAddress);

            socket.send(packet);
        }
示例#8
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void send(java.net.SocketAddress socketAddress, AdhocMessage adhocMessage) throws java.io.IOException
        public override void send(SocketAddress socketAddress, AdhocMessage adhocMessage)
        {
            socket.OutputStream.write(adhocMessage.Message);
        }
示例#9
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: @Override public void send(java.net.SocketAddress socketAddress, AdhocMessage adhocMessage) throws java.io.IOException
        public override void send(SocketAddress socketAddress, AdhocMessage adhocMessage)
        {
            Console.WriteLine(string.Format("Send not supported on ServerSocket: address={0}, message={1}", socketAddress, adhocMessage));
        }