Package ipfs.gomobile.android.bledriver
Class PeerDevice
- java.lang.Object
-
- ipfs.gomobile.android.bledriver.PeerDevice
-
public class PeerDevice extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPeerDevice.CONNECTION_STATE
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEODstatic intL2CAP_BUFFERstatic intL2CAP_HANDSHAKE_DATA_LENstatic intL2CAP_MPSstatic intMAX_MTUjava.lang.ObjectmLockServerintSTATUS_ERRORintSTATUS_SUCCESS
-
Constructor Summary
Constructors Constructor Description PeerDevice(android.content.Context context, BleDriver bleDriver, Logger logger, android.bluetooth.BluetoothDevice bluetoothDevice, java.lang.String localPID, boolean isClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanUseL2cap()booleancheckAndSetServerState(PeerDevice.CONNECTION_STATE state, PeerDevice.CONNECTION_STATE newState)voidcloseClient()voidcloseServer()voidconnectToDevice(boolean autoConnect, java.util.concurrent.CountDownLatch countDown)byte[]createRandomBytes(int len)voiddisconnect()byte[]flushInDataBuffer()voidflushServerDataCache()BleQueuegetBleQueue()android.bluetooth.BluetoothDevicegetBluetoothDevice()android.bluetooth.BluetoothSocketgetBluetoothSocket()PeerDevice.CONNECTION_STATEgetClientState()java.lang.StringgetId()byte[]getInDataBuffer()java.io.InputStreamgetInputStream()java.lang.StringgetMACAddress()intgetMtu()java.io.OutputStreamgetOutputStream()PeergetPeer()java.lang.StringgetRemotePID()PeerDevice.CONNECTION_STATEgetServerState()android.bluetooth.BluetoothGattCharacteristicgetWriterCharacteristic()booleanhandleClientPIDReceived(byte[] payload)booleanhandleDataReceived(byte[] payload)booleanhandleServerPIDReceived(byte[] payload)booleaninternalWrite(android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] payload)booleanisClientConnected()booleanisClientDisconnected()booleanisServerConnected()booleanisServerDisconnected()voidl2capRead()booleanl2capWrite(byte[] payload)voidputInDataBuffer(byte[] value)booleanread(android.bluetooth.BluetoothGattCharacteristic characteristic)voidsetBluetoothSocket(android.bluetooth.BluetoothSocket bluetoothSocket)voidsetGattServer(GattServer gattServer)voidsetId(java.lang.String mId)voidsetInputStream(java.io.InputStream inputStream)voidsetL2capServerHandshakeStarted(boolean status)voidsetMtu(int mtu)voidsetOutputStream(java.io.OutputStream outputStream)voidsetPeer(Peer peer)voidsetServerState(PeerDevice.CONNECTION_STATE state)java.lang.StringtoString()booleanwrite(android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] payload, boolean withEOD)
-
-
-
Field Detail
-
EOD
public static final java.lang.String EOD
- See Also:
- Constant Field Values
-
MAX_MTU
public static final int MAX_MTU
- See Also:
- Constant Field Values
-
L2CAP_BUFFER
public static final int L2CAP_BUFFER
- See Also:
- Constant Field Values
-
L2CAP_MPS
public static final int L2CAP_MPS
- See Also:
- Constant Field Values
-
L2CAP_HANDSHAKE_DATA_LEN
public static final int L2CAP_HANDSHAKE_DATA_LEN
- See Also:
- Constant Field Values
-
STATUS_SUCCESS
public final int STATUS_SUCCESS
- See Also:
- Constant Field Values
-
STATUS_ERROR
public final int STATUS_ERROR
- See Also:
- Constant Field Values
-
mLockServer
public final java.lang.Object mLockServer
-
-
Method Detail
-
setGattServer
public void setGattServer(GattServer gattServer)
-
getId
public java.lang.String getId()
-
setId
public void setId(java.lang.String mId)
-
getBluetoothDevice
public android.bluetooth.BluetoothDevice getBluetoothDevice()
-
getMACAddress
public java.lang.String getMACAddress()
-
toString
@NonNull public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getBluetoothSocket
public android.bluetooth.BluetoothSocket getBluetoothSocket()
-
setBluetoothSocket
public void setBluetoothSocket(android.bluetooth.BluetoothSocket bluetoothSocket)
-
getInputStream
public java.io.InputStream getInputStream()
-
setInputStream
public void setInputStream(java.io.InputStream inputStream)
-
getOutputStream
public java.io.OutputStream getOutputStream()
-
setOutputStream
public void setOutputStream(java.io.OutputStream outputStream)
-
getInDataBuffer
public byte[] getInDataBuffer()
-
flushInDataBuffer
public byte[] flushInDataBuffer()
-
connectToDevice
public void connectToDevice(boolean autoConnect, java.util.concurrent.CountDownLatch countDown)
-
isClientConnected
public boolean isClientConnected()
-
isClientDisconnected
public boolean isClientDisconnected()
-
isServerDisconnected
public boolean isServerDisconnected()
-
isServerConnected
public boolean isServerConnected()
-
disconnect
public void disconnect()
-
closeClient
public void closeClient()
-
closeServer
public void closeServer()
-
getClientState
public PeerDevice.CONNECTION_STATE getClientState()
-
getServerState
public PeerDevice.CONNECTION_STATE getServerState()
-
setServerState
public void setServerState(PeerDevice.CONNECTION_STATE state)
-
checkAndSetServerState
public boolean checkAndSetServerState(PeerDevice.CONNECTION_STATE state, PeerDevice.CONNECTION_STATE newState)
-
getWriterCharacteristic
public android.bluetooth.BluetoothGattCharacteristic getWriterCharacteristic()
-
getRemotePID
public java.lang.String getRemotePID()
-
getPeer
public Peer getPeer()
-
setPeer
public void setPeer(Peer peer)
-
getBleQueue
public BleQueue getBleQueue()
-
setL2capServerHandshakeStarted
public void setL2capServerHandshakeStarted(boolean status)
-
canUseL2cap
public boolean canUseL2cap()
-
l2capRead
public void l2capRead()
-
handleDataReceived
public boolean handleDataReceived(byte[] payload)
-
handleServerPIDReceived
public boolean handleServerPIDReceived(byte[] payload)
-
handleClientPIDReceived
public boolean handleClientPIDReceived(byte[] payload)
-
read
public boolean read(android.bluetooth.BluetoothGattCharacteristic characteristic)
-
l2capWrite
public boolean l2capWrite(byte[] payload)
-
internalWrite
public boolean internalWrite(android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] payload)
-
write
public boolean write(android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] payload, boolean withEOD)
-
createRandomBytes
public byte[] createRandomBytes(int len)
-
getMtu
public int getMtu()
-
setMtu
public void setMtu(int mtu)
-
flushServerDataCache
public void flushServerDataCache()
-
putInDataBuffer
public void putInDataBuffer(byte[] value)
-
-