public override void Update(object registrationId,
                                    PeerNodeAddress updatedNodeAddress, TimeSpan timeout)
        {
            if (timeout <= TimeSpan.Zero)
            {
                throw new ArgumentException(String.Format("Timeout value must be positive value. It was {0}", timeout));
            }

            client.OperationTimeout = timeout;
            client.Update(new UpdateInfo((Guid)registrationId, client_id, preserved_mesh_id, updatedNodeAddress));
        }
        public virtual RegisterResponseInfo Update(UpdateInfo updateInfo)
        {
            if (updateInfo == null)
            {
                throw new ArgumentException("Update info cannot be null.");
            }

            if (!opened)
            {
                throw new InvalidOperationException("The service has never been opened or it was closed previously.");
            }

            return(client.Update(updateInfo));
        }