currantlabs / ble

BSD 3-Clause "New" or "Revised" License
210 stars 177 forks source link

Att Server: support "Prepare Write Request" and "Execute Write Request" #60

Open chenkaie opened 6 years ago

chenkaie commented 6 years ago

Description

Implement below two operation

Test

handleExchangeMTURequest ... 104, 104

2017/10/16 17:05:06 TODO: indicate client when the services are changed 2017/10/16 17:05:10 count: Read 0 2017/10/16 17:05:40 count: Wrote 123 2017/10/16 17:06:46 count: Wrote 1234556789012345567890 2017/10/16 17:06:56 count: Wrote 12345567890

2017/10/16 17:07:05 count: Wrote 123455678901234556789012345567890 2017/10/16 17:07:12 count: Wrote 123455678901234556789012345567890123455678901234556789012345567890

<<<<------ CAN NOT RECEVIE LONGER STRING HERE ----->>>>


- After : can recive message longer than MTU

$ sudo ./server -device "prepare_write" -du 1000000s Advertising for 277h46m40s...

handleExchangeMTURequest ... 104, 104

handleWriteRequest -> r.AttributeHandle: 15 2017/10/16 16:58:53 count: Read 0

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 0, 0x0

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 99, 0xc4200d6d80

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 313233343535363738393031323334353536373839303132333435353637383930, offset: 198, 0xc4200d6d80 2017/10/16 16:59:01 count: Wrote 123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455 678901234556789012345567890123455678901234556789012345567890 q handlePrepareWriteRequest -> r.AttributeHandle: 18 data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 0, 0x0

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 99, 0xc4200d6d80

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 198, 0xc4200d6d80

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 3132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373 83930, offset: 297, 0xc4200d6d80

handlePrepareWriteRequest -> r.AttributeHandle: 18

data: 313233343535363738393031323334353536373839303132333435353637383930313233343535363738393031323334353536373839303132333435353637383930, offset: 396, 0xc4200d6d80 2017/10/16 16:59:26 count: Wrote 123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455 678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901234556789012345567890123455678901 234556789012345567890123455678901234556789012345567890123455678901234556789012345567890