Android Open Source - dissertation-project Swarm Client






From Project

Back to project page dissertation-project.

License

The source code is released under:

MIT License

If you think the Android project dissertation-project listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.fyp.resilience.swarm.model;
/*from  w ww. jav a  2s . c om*/
import java.net.InetAddress;
import java.util.HashMap;
import java.util.Map;

import javax.jmdns.ServiceInfo;

import com.fyp.resilience.database.model.DataPiece;
import com.fyp.resilience.event.ClientModified;

import de.greenrobot.event.EventBus;

public class SwarmClient {

    private InetAddress mAddress;
    private int mPort;

    private int mSuccessAttempts;
    private int mFailedAttempts;

    private boolean mWifiDirect;
    private String mMacAddress;

    private boolean mBusy;
    private Map<String, DataPiece> mPieceMap;

    public SwarmClient(final InetAddress address, final int port) {
        mAddress = address;
        mPort = port;
        mBusy = false;
        mWifiDirect = false;
    }

    @SuppressWarnings("deprecation")
    public SwarmClient(final ServiceInfo serviceInfo) {
        mAddress = serviceInfo.getInetAddress();
        mPort = serviceInfo.getPort();
        mWifiDirect = false;
    }

    public InetAddress getAddress() {
        return mAddress;
    }
    
    public void setAddress(final InetAddress address) {
        mAddress = address;
    }

    public int getPort() {
        return mPort;
    }

    public String getMac() {
        return mMacAddress;
    }

    public void addSuccessfulAttempt() {
        mSuccessAttempts++;
        mFailedAttempts = 0;
        EventBus.getDefault().post(new ClientModified(this));
    }

    public void addFailedAttempt() {
        mFailedAttempts++;
        mSuccessAttempts = 0;
        EventBus.getDefault().post(new ClientModified(this));
    }

    public int getSuccessfulAttempts() {
        return mSuccessAttempts;
    }

    public int getFailedAttempts() {
        return mFailedAttempts;
    }

    public boolean isWifiDirect() {
        return mWifiDirect;
    }

    public boolean isBusy() {
        return mBusy;
    }

    public void setBusy(boolean busy) {
        mBusy = busy;
    }

    public void addPieceToMap(final DataPiece dataPiece) {
        if (null == mPieceMap) {
            mPieceMap = new HashMap<String, DataPiece>();
        }
        mPieceMap.put(dataPiece.getKey(), dataPiece);
    }

    public void removeFromMap(final DataPiece dataPiece) {
        if (null != mPieceMap) {
            mPieceMap.remove(dataPiece.getKey());
        }
    }

    public boolean hasPiece(final DataPiece dataPiece) {
        if (null != mPieceMap) {
            return mPieceMap.containsKey(dataPiece.getKey());
        } else {
            return false;
        }
    }

    @Override
    public int hashCode() {
        return mAddress.hashCode();
    }

    @Override
    public boolean equals(Object o) {
        return null != mAddress && mAddress.equals(((SwarmClient) o).getAddress());
    }
}




Java Source Code List

com.fyp.resilience.Constants.java
com.fyp.resilience.Flags.java
com.fyp.resilience.GCMIntentService.java
com.fyp.resilience.PreferenceConstants.java
com.fyp.resilience.ResilienceApplication.java
com.fyp.resilience.ResilienceController.java
com.fyp.resilience.activity.LicenceActivity.java
com.fyp.resilience.activity.ResilienceActivity.java
com.fyp.resilience.activity.SettingsActivity.java
com.fyp.resilience.adapter.ClientListAdapter.java
com.fyp.resilience.adapter.ConnectionListAdapter.java
com.fyp.resilience.adapter.FileListAdapter.java
com.fyp.resilience.connection.Connectable.java
com.fyp.resilience.connection.ServerDownloadConnectable.java
com.fyp.resilience.connection.ServerUploadConnectable.java
com.fyp.resilience.connection.UploadConnectable.java
com.fyp.resilience.connection.WifiDownloadConnectable.java
com.fyp.resilience.connection.WifiUploadConnectable.java
com.fyp.resilience.database.ResilienceDbHelper.java
com.fyp.resilience.database.ResilienceDbManager.java
com.fyp.resilience.database.model.DataPiece.java
com.fyp.resilience.database.model.DataWhole.java
com.fyp.resilience.event.ClientListChanged.java
com.fyp.resilience.event.ClientModified.java
com.fyp.resilience.event.ConnectionProgressChange.java
com.fyp.resilience.event.ConnectionStateChange.java
com.fyp.resilience.event.ConnectionsModified.java
com.fyp.resilience.event.PieceStateChange.java
com.fyp.resilience.event.ServerRegistrationChanged.java
com.fyp.resilience.event.ServerUploadFinished.java
com.fyp.resilience.event.WholeModified.java
com.fyp.resilience.event.WifiDownloadFinished.java
com.fyp.resilience.event.WifiUploadFinished.java
com.fyp.resilience.fragment.ClientsFragment.java
com.fyp.resilience.fragment.ConnectionsFragment.java
com.fyp.resilience.fragment.FilesFragment.java
com.fyp.resilience.interfaces.Messagable.java
com.fyp.resilience.interfaces.Partialable.java
com.fyp.resilience.proto.ProtoBuffSpecification.java
com.fyp.resilience.receiver.AbstractConnectivityBroadcastReceiver.java
com.fyp.resilience.receiver.BootReceiver.java
com.fyp.resilience.receiver.ConnectivityBroadcastReceiver.java
com.fyp.resilience.receiver.WiFiDirectBroadcastReceiver.java
com.fyp.resilience.register.RegisterRequestInitializer.java
com.fyp.resilience.register.RegisterRequest.java
com.fyp.resilience.register.RegisterScopes.java
com.fyp.resilience.register.Register.java
com.fyp.resilience.register.model.DeviceInfo.java
com.fyp.resilience.service.PieceUploadService.java
com.fyp.resilience.stream.PiecedRandomAccessFile.java
com.fyp.resilience.swarm.helper.NsdHelper.java
com.fyp.resilience.swarm.helper.SwarmHelperInterface.java
com.fyp.resilience.swarm.helper.WifiDirectSdHelper.java
com.fyp.resilience.swarm.model.SwarmClient.java
com.fyp.resilience.thread.ResilienceRunnable.java
com.fyp.resilience.thread.ResilienceThreadFactory.java
com.fyp.resilience.util.ConnectionUtils.java
com.fyp.resilience.util.Utils.java
com.fyp.resilience.view.ClientView.java
com.fyp.resilience.view.ConnectionView.java
com.fyp.resilience.view.FileView.java
com.fyp.resilience.view.PieceProgressIndicator.java
com.fyp.resilience.widerst.WiderstRequestInitializer.java
com.fyp.resilience.widerst.WiderstRequest.java
com.fyp.resilience.widerst.WiderstScopes.java
com.fyp.resilience.widerst.Widerst.java
com.fyp.resilience.widerst.model.DataPiecePartial.java
com.fyp.resilience.widerst.model.DataWholePartial.java
com.fyp.resilience.widerst.model.PostResponse.java
com.fyp.widerst.Constants.java
com.fyp.widerst.WiderstObjectifyService.java
com.fyp.widerst.backend.FileJoinerBackend.java
com.fyp.widerst.cron.CronJobServlet.java
com.fyp.widerst.endpoint.DataPieceEndpoint.java
com.fyp.widerst.endpoint.DeviceInfoEndpoint.java
com.fyp.widerst.entity.DataPiece.java
com.fyp.widerst.entity.DataWhole.java
com.fyp.widerst.entity.DeviceInfo.java
com.fyp.widerst.handler.BlobstoreUploadHandler.java
com.fyp.widerst.partial.DataPiecePartial.java
com.fyp.widerst.partial.DataWholePartial.java
com.fyp.widerst.response.PostResponse.java
com.fyp.widerst.servlet.WholeFileServer.java
com.fyp.widerst.util.DbHelper.java
com.fyp.widerst.util.GcmHelper.java