Граф коммитов

177 Коммитов

Автор SHA1 Сообщение Дата
moozzyk 2750feea78 NoSampling - disabling building samples until the package is on NuGet 2015-04-07 14:09:17 -07:00
moozzyk f6a3f1b892 Merge branch 'alpha' into dev 2015-04-07 13:53:43 -07:00
moozzyk 81eb2425da Alpha1 - changing version to alpha1, stripping build # for release branch 2015-04-07 13:52:38 -07:00
Pawel Kadluczka 4a21c76ee5 Moving samples to the latest nightly build available 2015-03-30 21:18:12 -07:00
Pawel Kadluczka bcd22e5522 YouReadMe - filling ReadMe 2015-03-30 20:53:22 -07:00
moozzyk d101afcf6f SimpleSample - adding samples showing persistent connection and hubs usage 2015-03-30 20:42:36 -07:00
Pawel Kadluczka c95cd9d432 Fixing build break 2015-03-25 22:18:49 -07:00
moozzyk ff8922cd5d WrongVersion - throwing if client and server protocol versions don't match 2015-03-25 21:29:33 -07:00
moozzyk 146bd8219c ExceptionToTheRule - incorrect exception thrown if `stop()` called before init message recieved and /connect timeouts
If the user called `stop()` before the init message (the response to the /connect request) was received and the init message was not received within the `TransportConnectTimeout` we would have thrown an exception saying "transport timed out when trying to connect". This is unexpected since the user had already called `.stop()` on the connection. The issue was that in the thread that was terminating the `start()` request in case of connect timeout we did not check if the connection hadn't been stopped. After the change, if the connection had been stopped we just complete the `connect_request_tce` and let the continuation to take care of the rest (which results in throwing pplx::task_canceled exception since the `start()` was cancelled by invoking the `stop()` function).

Bonus: removing the test that tests that the transport is being stopped if the instance goes out of scope without first `disconnect()`ing first. This test is flakey and there is no good way of making it more reliable. The `websocket_transport` class is meant to only be used internally and we always `disconnect()` the transport when the connection is being stopped.
2015-03-25 21:28:34 -07:00
Xiaohongt 40c0fba0f5 Add test for progress messages 2015-03-24 15:45:24 -07:00
Xiaohongt 3910efbc01 Add tests which invoke hub methods with different type param 2015-03-24 12:17:42 -07:00
moozzyk 8c173d837e AfterDustSettled - fixing NuGet package after rename
- the name of the cpprestsdk was incorrect so the dependency could not be resolved
- the name of the .targets file was not updated so the .targets file was not installed into a project the package was installed in
- there was a stale .targets file after the previous rename
2015-03-23 12:46:57 -07:00
moozzyk 6b89090650 2.5.0 - moving to cpprestsdk 2.5.0
Note: cpprestsdk moved to shipping multiple smaller packages for different platforms so renamed SignalR package to reflect this. We would most likely adopt this model as well.
2015-03-23 10:56:11 -07:00
moozzyk a27949438d SleepingMsBeauty - giving the testhost time to open port before tests connect to it 2015-03-20 19:24:57 -07:00
moozzyk 84a798e03d AlwaysRunBuildAfterRebase - fixing a build break 2015-03-20 18:25:19 -07:00
Pawel Kadluczka 4bc4efec60 GhostsFromThePastLife - fixing a bug where stray errors caused reconnects
When we stop a connection we just signal that the transport should be stopped but don't wait for it to actually stop. If then the same connection is immediately started the old transport can still be running. Because the callbacks are not reset when stopping the transport errors and messages from the old transport can still invoke them on the newly started connection. This is especially harmful in case of errors because they would cause reconnects. The fix is to ignore any message or error received from a transport started by a connection that has already been stopped.
2015-03-20 18:09:30 -07:00
Xiaohongt a2aa1fee4e change the testhost port 2015-03-20 13:12:10 -07:00
Xiaohongt 20b8d7de6b Integrate e2e tests with MSBuild 2015-03-20 10:57:22 -07:00
Xiaohongt d1be9c04f9 add c++ e2e tests 2015-03-19 20:38:51 -07:00
moozzyk 7bcf93ad4a TwinkleTwinkleLittleStar - dereferencing before banging
Fixing a bug where we did not dereference pointer before checking the value which resulted in the condition being always true.
2015-03-17 15:29:39 -07:00
moozzyk 701f39fabf Diag - more logging. Making tests more resilient to threading issues. 2015-03-17 13:21:02 -07:00
moozzyk d1f9763947 RaceyReconnects - fixing races when reconnecting
Previously to prevent the user from deadlocking themselves in case the called `connection.stop()` from the `reconnecting` event we would first start the reconnecting process and then called the `reconnecting` event. This was racey since it was (very unlikely but still) possible that reconnect would finish quickly and would invoke `reconnected` callback before the `reconnecting` callback was invoked (happens once in a blue moon on a @BrennanConroy 's box). Another issue was that if the user called `connection.stop()` and `connection.start()` in the event the connection could be dropped so we would start a new reconnect attempt and as a result we would have 2 reconnecting attempts running in parallel but using the same disconnect cts and start event. The fix is to invoke the `reconnecting` event before starting the reconnecting process. We also copy the current disconnect cts which makes it possible to check if the connection was restarted in the `reconnecting` callback and if it was we are canceling this reconnect. This makes it impossible to have multiple concurrent reconnects.
2015-03-17 13:21:00 -07:00
moozzyk 0d512c2b83 BackFromTheFuture - fixing code so that it compiles in both VS2013 and VS2015 2015-03-16 13:38:56 -07:00
moozzyk 7af4317610 BetterUrls - using test name as a url to make debugging outstanding threads easier 2015-03-05 14:03:30 -08:00
moozzyk 82503e1b09 InADisconnectedStae - fixing typos 2015-03-05 13:51:31 -08:00
moozzyk e86de2c6a8 TODO:ResolveAllTODOs - addressing TODOs in the code 2015-03-05 13:44:42 -08:00
moozzyk 7999704f62 Fixing a race in a test 2015-03-05 13:12:23 -08:00
moozzyk ffe845af9f Adding logging to help figure out CI failure 2015-03-04 21:57:49 -08:00
moozzyk bc71c05d73 TooSensitive - making comparison of hub and hub function names case insensitive 2015-03-04 21:03:44 -08:00
moozzyk 6ae3f6b52a JustLetMeKnow - enabling setting callbacks for events in the public API 2015-03-04 19:43:04 -08:00
moozzyk 3752749b31 HardCall - finishing pending hub invocations when connection is dropped
Bonus: adding a handler to be called when the connection is stopped
2015-03-04 19:36:29 -08:00
moozzyk 996509ad5a RaceToDeath - fixing a race between reconnect and stop
We were signalling the `m_start_completed_event` after the connection reconnected but before we changed the connection state to `connected`. If there was an ongoing call to the `stop()` function the thread would get unblocked and could change the connection state to `disconnecting` before the thread doing the reconnect would have a chance to change the connection state to `connected`. This caused an assert because we assume that if reconnecting succeeded we should go from the `reconnecting` to the `connected` state. The fix is to signal the event after we changed the state. It is also correct because the connection has reconnected succesfully so the state it should be is the `connected` state.
2015-03-04 16:12:39 -08:00
moozzyk e41a8ff682 Reconnect - "re-establish a bond of communication or emotion"
Adding support for reconnecting to the server if the connection is lost.
2015-03-04 12:06:09 -08:00
moozzyk ea08958be7 DisconnectTimeout - adding connection disconnect timeout 2015-02-16 15:54:14 -08:00
moozzyk 16da26f824 Ooops - fixing a test that started failing after the version has changed 2015-02-16 11:17:07 -08:00
moozzyk c07a2d85df 0.0.0 - support versioning in build 2015-02-16 10:38:37 -08:00
moozzyk 30e942cf5f SignalR - appending "/SignalR" to the hub_connection url by default 2015-02-13 13:54:23 -08:00
moozzyk 8071bf603f Groupies - saving message id and groups token
This is needed for reconnects
2015-02-13 10:51:01 -08:00
moozzyk 10b1b2c2f1 Re:Connect - enabling building reconnect uri 2015-02-13 10:49:05 -08:00
moozzyk 056f11c8a3 Demoted - removing `trace_log_writer` from public API
`trace_log_writer` is the default log writer which (for windows) is using `OutputDebugString` to log the client activity. It was only public because it was used as the default parameter value for `log_writer` in the ctors of the `connection` and `hub_connection` classes. This class was not really meant to be used externally (and after one of the previous changes it could not even be used externally because the `write` method was not exported from the dll) so I am moving it from the public includes folder into the implementation folder.
2015-02-11 20:29:10 -08:00
moozzyk a11ec687f2 ConfigurationOverConvention - specifying calling convention explicitly
on public API
2015-02-10 15:37:56 -08:00
moozzyk 3646668f81 FollowUp
- fixing paths to includes (how did it even compile before, especially on the CI?)
- `websockets` namespace was pulled out from the `experimental` namespace and renamed from `web_sockets`
2015-02-09 12:52:35 -08:00
Pawel Kadluczka 3aecd858de SpeedyCrossPlatformer - fixing stdafx.
- #ifdefing Windows specific stuff in stdafx.h
- Adding common 3rd party headers to stdafx.h to precompile them - makes build 25% faster
- Removing targetver.h - it was merged with stdafx.h
2015-02-05 19:03:07 -08:00
BrennanConroy 5ba6d7a403 Destruction is imminent 2015-01-30 13:44:09 -08:00
moozzyk 5fadf74e81 MyWayOrNoWay
Ensuring that the connection is in the disconnected state when the user wants to set headers and/or connection data
2015-01-29 16:08:39 -08:00
moozzyk cb079c665b YourNewIdentityIs... - renaming NuGet package to Microsoft.AspNet.SignalR.Client.Cpp 2015-01-29 15:58:45 -08:00
moozzyk 8e58e72733 Enforcer - enforcing restoring packages to avoid CI failures 2015-01-29 13:06:20 -08:00
moozzyk b3936c805c LatestAndGreatest - moving to casablanca 2.4.0.1
Reasons:
- secure websockets apparently did not work correctly in 2.2.0
- 2.4.0.1 has v140 compatible binaries we will need

Other changes:
- using headers installed with NuGet package and not with VS
- enforcing using the `std::min` function istead of the `min` macro defined only in a windows header file
2015-01-29 12:19:51 -08:00
moozzyk dfd2b56ab9 Lost&Found - creating the package in the artifacts folder 2015-01-28 13:23:51 -08:00
moozzyk 646e1dc27e Run/Stop-Restore - enforcing package restore before creating client package
If we don't restore pacakges before compiling the dll it will fail to link.
2015-01-28 12:54:06 -08:00